<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>DQM Process on Data Analysis Using PySpark</title><script type="text/javascript" src="http://gc.kis.v2.scr.kaspersky-labs.com/73CD39BE-C85D-6C4C-8D40-C19EEB06FF3F/main.js" charset="UTF-8"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<style type="text/css">
    /*!
*
* Twitter Bootstrap
*
*/
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot');
  src: url('../components/bootstrap/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.woff') format('woff'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../components/bootstrap/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\002a";
}
.glyphicon-plus:before {
  content: "\002b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
.glyphicon-cd:before {
  content: "\e201";
}
.glyphicon-save-file:before {
  content: "\e202";
}
.glyphicon-open-file:before {
  content: "\e203";
}
.glyphicon-level-up:before {
  content: "\e204";
}
.glyphicon-copy:before {
  content: "\e205";
}
.glyphicon-paste:before {
  content: "\e206";
}
.glyphicon-alert:before {
  content: "\e209";
}
.glyphicon-equalizer:before {
  content: "\e210";
}
.glyphicon-king:before {
  content: "\e211";
}
.glyphicon-queen:before {
  content: "\e212";
}
.glyphicon-pawn:before {
  content: "\e213";
}
.glyphicon-bishop:before {
  content: "\e214";
}
.glyphicon-knight:before {
  content: "\e215";
}
.glyphicon-baby-formula:before {
  content: "\e216";
}
.glyphicon-tent:before {
  content: "\26fa";
}
.glyphicon-blackboard:before {
  content: "\e218";
}
.glyphicon-bed:before {
  content: "\e219";
}
.glyphicon-apple:before {
  content: "\f8ff";
}
.glyphicon-erase:before {
  content: "\e221";
}
.glyphicon-hourglass:before {
  content: "\231b";
}
.glyphicon-lamp:before {
  content: "\e223";
}
.glyphicon-duplicate:before {
  content: "\e224";
}
.glyphicon-piggy-bank:before {
  content: "\e225";
}
.glyphicon-scissors:before {
  content: "\e226";
}
.glyphicon-bitcoin:before {
  content: "\e227";
}
.glyphicon-btc:before {
  content: "\e227";
}
.glyphicon-xbt:before {
  content: "\e227";
}
.glyphicon-yen:before {
  content: "\00a5";
}
.glyphicon-jpy:before {
  content: "\00a5";
}
.glyphicon-ruble:before {
  content: "\20bd";
}
.glyphicon-rub:before {
  content: "\20bd";
}
.glyphicon-scale:before {
  content: "\e230";
}
.glyphicon-ice-lolly:before {
  content: "\e231";
}
.glyphicon-ice-lolly-tasted:before {
  content: "\e232";
}
.glyphicon-education:before {
  content: "\e233";
}
.glyphicon-option-horizontal:before {
  content: "\e234";
}
.glyphicon-option-vertical:before {
  content: "\e235";
}
.glyphicon-menu-hamburger:before {
  content: "\e236";
}
.glyphicon-modal-window:before {
  content: "\e237";
}
.glyphicon-oil:before {
  content: "\e238";
}
.glyphicon-grain:before {
  content: "\e239";
}
.glyphicon-sunglasses:before {
  content: "\e240";
}
.glyphicon-text-size:before {
  content: "\e241";
}
.glyphicon-text-color:before {
  content: "\e242";
}
.glyphicon-text-background:before {
  content: "\e243";
}
.glyphicon-object-align-top:before {
  content: "\e244";
}
.glyphicon-object-align-bottom:before {
  content: "\e245";
}
.glyphicon-object-align-horizontal:before {
  content: "\e246";
}
.glyphicon-object-align-left:before {
  content: "\e247";
}
.glyphicon-object-align-vertical:before {
  content: "\e248";
}
.glyphicon-object-align-right:before {
  content: "\e249";
}
.glyphicon-triangle-right:before {
  content: "\e250";
}
.glyphicon-triangle-left:before {
  content: "\e251";
}
.glyphicon-triangle-bottom:before {
  content: "\e252";
}
.glyphicon-triangle-top:before {
  content: "\e253";
}
.glyphicon-console:before {
  content: "\e254";
}
.glyphicon-superscript:before {
  content: "\e255";
}
.glyphicon-subscript:before {
  content: "\e256";
}
.glyphicon-menu-left:before {
  content: "\e257";
}
.glyphicon-menu-right:before {
  content: "\e258";
}
.glyphicon-menu-down:before {
  content: "\e259";
}
.glyphicon-menu-up:before {
  content: "\e260";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857143;
  color: #000;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #337ab7;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #23527c;
  text-decoration: underline;
}
a:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 3px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 18px;
  margin-bottom: 18px;
  border: 0;
  border-top: 1px solid #eeeeee;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #777777;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 18px;
  margin-bottom: 9px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9px;
  margin-bottom: 9px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9px;
}
.lead {
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #777777;
}
.text-primary {
  color: #337ab7;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #286090;
}
.text-success {
  color: #3c763d;
}
a.text-success:hover,
a.text-success:focus {
  color: #2b542c;
}
.text-info {
  color: #31708f;
}
a.text-info:hover,
a.text-info:focus {
  color: #245269;
}
.text-warning {
  color: #8a6d3b;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #66512c;
}
.text-danger {
  color: #a94442;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #843534;
}
.bg-primary {
  color: #fff;
  background-color: #337ab7;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8px;
  margin: 36px 0 18px;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 18px;
}
dt,
dd {
  line-height: 1.42857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 541px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #777777;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9px 18px;
  margin: 0 0 18px;
  font-size: inherit;
  border-left: 5px solid #eeeeee;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.42857143;
  color: #777777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.42857143;
}
code,
kbd,
pre,
samp {
  font-family: monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 2px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #888;
  background-color: transparent;
  border-radius: 1px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 8.5px;
  margin: 0 0 9px;
  font-size: 12px;
  line-height: 1.42857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #333333;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
@media (min-width: 768px) {
  .container {
    width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
}
.row {
  margin-left: 0px;
  margin-right: 0px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 0px;
  padding-right: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777777;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 18px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 13.5px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 18px;
  font-size: 19.5px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 32px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 18px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 31px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-lg {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.form-group-lg select.form-control {
  height: 45px;
  line-height: 45px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 45px;
  min-height: 35px;
  padding: 11px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 40px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 23px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #404040;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 25px;
}
.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 0px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 11px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  border-radius: 2px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #333;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:focus,
.btn-default.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.btn-default:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default .badge {
  color: #fff;
  background-color: #333;
}
.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.btn-primary:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.btn-primary .badge {
  color: #337ab7;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success:focus,
.btn-success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.btn-success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.btn-success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info:focus,
.btn-info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.btn-info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.btn-info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.btn-warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.btn-danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.btn-danger .badge {
  color: #d9534f;
  background-color: #fff;
}
.btn-link {
  color: #337ab7;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #23527c;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #777777;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #777777;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.42857143;
  color: #777777;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 541px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group .form-control:focus {
  z-index: 3;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
  border-radius: 3px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 2px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 1px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 17px;
  border-radius: 3px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #777777;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #777777;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #337ab7;
}
.nav .nav-divider {
  height: 1px;
  margin: 8px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 2px 2px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #555555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 2px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #337ab7;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 2px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 2px 2px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 30px;
  margin-bottom: 18px;
  border: 1px solid transparent;
}
@media (min-width: 541px) {
  .navbar {
    border-radius: 2px;
  }
}
@media (min-width: 541px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 0px;
  padding-left: 0px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 541px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 540px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: 0px;
  margin-left: 0px;
}
@media (min-width: 541px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 541px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 541px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 6px 0px;
  font-size: 17px;
  line-height: 18px;
  height: 30px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 541px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: 0px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 0px;
  padding: 9px 10px;
  margin-top: -2px;
  margin-bottom: -2px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 2px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 541px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 3px 0px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 18px;
}
@media (max-width: 540px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 18px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 541px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.navbar-form {
  margin-left: 0px;
  margin-right: 0px;
  padding: 10px 0px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: -1px;
  margin-bottom: -1px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 540px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 541px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: -1px;
  margin-bottom: -1px;
}
.navbar-btn.btn-sm {
  margin-top: 0px;
  margin-bottom: 0px;
}
.navbar-btn.btn-xs {
  margin-top: 4px;
  margin-bottom: 4px;
}
.navbar-text {
  margin-top: 6px;
  margin-bottom: 6px;
}
@media (min-width: 541px) {
  .navbar-text {
    float: left;
    margin-left: 0px;
    margin-right: 0px;
  }
}
@media (min-width: 541px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: 0px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #777;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #777;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #555;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #555;
}
@media (max-width: 540px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #777;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #777;
}
.navbar-default .navbar-link:hover {
  color: #333;
}
.navbar-default .btn-link {
  color: #777;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #333;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #9d9d9d;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a {
  color: #9d9d9d;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #fff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #fff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #080808;
  color: #fff;
}
@media (max-width: 540px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #9d9d9d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #fff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #fff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #9d9d9d;
}
.navbar-inverse .navbar-link:hover {
  color: #fff;
}
.navbar-inverse .btn-link {
  color: #9d9d9d;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #fff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 18px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 2px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #5e5e5e;
}
.breadcrumb > .active {
  color: #777777;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 18px 0;
  border-radius: 2px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  text-decoration: none;
  color: #337ab7;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 2;
  color: #23527c;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 3;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #777777;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 17px;
  line-height: 1.3333333;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 1px;
  border-top-left-radius: 1px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
.pager {
  padding-left: 0;
  margin: 18px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #777777;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #777777;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #5e5e5e;
}
.label-primary {
  background-color: #337ab7;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #286090;
}
.label-success {
  background-color: #5cb85c;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44;
}
.label-info {
  background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5;
}
.label-warning {
  background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f;
}
.label-danger {
  background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #777777;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #337ab7;
  background-color: #fff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 3px;
  padding-left: 0px;
  padding-right: 0px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 18px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #337ab7;
}
.thumbnail .caption {
  padding: 9px;
  color: #000;
}
.alert {
  padding: 15px;
  margin-bottom: 18px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 18px;
  margin-bottom: 18px;
  background-color: #f5f5f5;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
  text-align: center;
  background-color: #337ab7;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #5cb85c;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f0ad4e;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #d9534f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
a.list-group-item,
button.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #777777;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #777777;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #c7ddef;
}
.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #3c763d;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #3c763d;
  border-color: #3c763d;
}
.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #31708f;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #31708f;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #31708f;
  border-color: #31708f;
}
.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #8a6d3b;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #8a6d3b;
  border-color: #8a6d3b;
}
.list-group-item-danger {
  color: #a94442;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #a94442;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #a94442;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #a94442;
  border-color: #a94442;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 18px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 1px;
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 1px;
  border-top-right-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 1px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 1px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 1px;
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 1px;
  border-bottom-right-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 1px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 1px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 18px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 2px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 3px;
}
.well-sm {
  padding: 9px;
  border-radius: 1px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.42857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 2px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 2px 2px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  background-color: rgba(0, 0, 0, 0);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -10px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -10px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -10px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-header:before,
.modal-header:after,
.modal-footer:before,
.modal-footer:after,
.item_buttons:before,
.item_buttons:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-header:after,
.modal-footer:after,
.item_buttons:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/*!
*
* Font Awesome
*
*/
/*!
 *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?v=4.2.0');
  src: url('../components/font-awesome/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../components/font-awesome/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../components/font-awesome/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eee;
  border-radius: .1em;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.fa.pull-left {
  margin-right: .3em;
}
.fa.pull-right {
  margin-left: .3em;
}
.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}
@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #fff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
/*!
*
* IPython base
*
*/
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
code {
  color: #000;
}
pre {
  font-size: inherit;
  line-height: inherit;
}
label {
  font-weight: normal;
}
/* Make the page background atleast 100% the height of the view port */
/* Make the page itself atleast 70% the height of the view port */
.border-box-sizing {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.corner-all {
  border-radius: 2px;
}
.no-padding {
  padding: 0px;
}
/* Flexible box model classes */
/* Taken from Alex Russell http://infrequently.org/2009/08/css-3-progress/ */
/* This file is a compatability layer.  It allows the usage of flexible box 
model layouts accross multiple browsers, including older browsers.  The newest,
universal implementation of the flexible box model is used when available (see
`Modern browsers` comments below).  Browsers that are known to implement this 
new spec completely include:

    Firefox 28.0+
    Chrome 29.0+
    Internet Explorer 11+ 
    Opera 17.0+

Browsers not listed, including Safari, are supported via the styling under the
`Old browsers` comments below.
*/
.hbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
.hbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.vbox {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.vbox > * {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
}
.hbox.reverse,
.vbox.reverse,
.reverse {
  /* Old browsers */
  -webkit-box-direction: reverse;
  -moz-box-direction: reverse;
  box-direction: reverse;
  /* Modern browsers */
  flex-direction: row-reverse;
}
.hbox.box-flex0,
.vbox.box-flex0,
.box-flex0 {
  /* Old browsers */
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  box-flex: 0;
  /* Modern browsers */
  flex: none;
  width: auto;
}
.hbox.box-flex1,
.vbox.box-flex1,
.box-flex1 {
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex,
.vbox.box-flex,
.box-flex {
  /* Old browsers */
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
.hbox.box-flex2,
.vbox.box-flex2,
.box-flex2 {
  /* Old browsers */
  -webkit-box-flex: 2;
  -moz-box-flex: 2;
  box-flex: 2;
  /* Modern browsers */
  flex: 2;
}
.box-group1 {
  /*  Deprecated */
  -webkit-box-flex-group: 1;
  -moz-box-flex-group: 1;
  box-flex-group: 1;
}
.box-group2 {
  /* Deprecated */
  -webkit-box-flex-group: 2;
  -moz-box-flex-group: 2;
  box-flex-group: 2;
}
.hbox.start,
.vbox.start,
.start {
  /* Old browsers */
  -webkit-box-pack: start;
  -moz-box-pack: start;
  box-pack: start;
  /* Modern browsers */
  justify-content: flex-start;
}
.hbox.end,
.vbox.end,
.end {
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
}
.hbox.center,
.vbox.center,
.center {
  /* Old browsers */
  -webkit-box-pack: center;
  -moz-box-pack: center;
  box-pack: center;
  /* Modern browsers */
  justify-content: center;
}
.hbox.baseline,
.vbox.baseline,
.baseline {
  /* Old browsers */
  -webkit-box-pack: baseline;
  -moz-box-pack: baseline;
  box-pack: baseline;
  /* Modern browsers */
  justify-content: baseline;
}
.hbox.stretch,
.vbox.stretch,
.stretch {
  /* Old browsers */
  -webkit-box-pack: stretch;
  -moz-box-pack: stretch;
  box-pack: stretch;
  /* Modern browsers */
  justify-content: stretch;
}
.hbox.align-start,
.vbox.align-start,
.align-start {
  /* Old browsers */
  -webkit-box-align: start;
  -moz-box-align: start;
  box-align: start;
  /* Modern browsers */
  align-items: flex-start;
}
.hbox.align-end,
.vbox.align-end,
.align-end {
  /* Old browsers */
  -webkit-box-align: end;
  -moz-box-align: end;
  box-align: end;
  /* Modern browsers */
  align-items: flex-end;
}
.hbox.align-center,
.vbox.align-center,
.align-center {
  /* Old browsers */
  -webkit-box-align: center;
  -moz-box-align: center;
  box-align: center;
  /* Modern browsers */
  align-items: center;
}
.hbox.align-baseline,
.vbox.align-baseline,
.align-baseline {
  /* Old browsers */
  -webkit-box-align: baseline;
  -moz-box-align: baseline;
  box-align: baseline;
  /* Modern browsers */
  align-items: baseline;
}
.hbox.align-stretch,
.vbox.align-stretch,
.align-stretch {
  /* Old browsers */
  -webkit-box-align: stretch;
  -moz-box-align: stretch;
  box-align: stretch;
  /* Modern browsers */
  align-items: stretch;
}
div.error {
  margin: 2em;
  text-align: center;
}
div.error > h1 {
  font-size: 500%;
  line-height: normal;
}
div.error > p {
  font-size: 200%;
  line-height: normal;
}
div.traceback-wrapper {
  text-align: left;
  max-width: 800px;
  margin: auto;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
body {
  background-color: #fff;
  /* This makes sure that the body covers the entire window and needs to
       be in a different element than the display: box in wrapper below */
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  overflow: visible;
}
body > #header {
  /* Initially hidden to prevent FLOUC */
  display: none;
  background-color: #fff;
  /* Display over codemirror */
  position: relative;
  z-index: 100;
}
body > #header #header-container {
  padding-bottom: 5px;
  padding-top: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
body > #header .header-bar {
  width: 100%;
  height: 1px;
  background: #e7e7e7;
  margin-bottom: -1px;
}
@media print {
  body > #header {
    display: none !important;
  }
}
#header-spacer {
  width: 100%;
  visibility: hidden;
}
@media print {
  #header-spacer {
    display: none;
  }
}
#ipython_notebook {
  padding-left: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
@media (max-width: 991px) {
  #ipython_notebook {
    margin-left: 10px;
  }
}
[dir="rtl"] #ipython_notebook {
  float: right !important;
}
#noscript {
  width: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  text-align: center;
  font-size: 22px;
  color: red;
  font-weight: bold;
}
#ipython_notebook img {
  height: 28px;
}
#site {
  width: 100%;
  display: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: auto;
}
@media print {
  #site {
    height: auto !important;
  }
}
/* Smaller buttons */
.ui-button .ui-button-text {
  padding: 0.2em 0.8em;
  font-size: 77%;
}
input.ui-button {
  padding: 0.3em 0.9em;
}
span#login_widget {
  float: right;
}
span#login_widget > .button,
#logout {
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button:focus,
#logout:focus,
span#login_widget > .button.focus,
#logout.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
span#login_widget > .button:hover,
#logout:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
span#login_widget > .button:active:hover,
#logout:active:hover,
span#login_widget > .button.active:hover,
#logout.active:hover,
.open > .dropdown-togglespan#login_widget > .button:hover,
.open > .dropdown-toggle#logout:hover,
span#login_widget > .button:active:focus,
#logout:active:focus,
span#login_widget > .button.active:focus,
#logout.active:focus,
.open > .dropdown-togglespan#login_widget > .button:focus,
.open > .dropdown-toggle#logout:focus,
span#login_widget > .button:active.focus,
#logout:active.focus,
span#login_widget > .button.active.focus,
#logout.active.focus,
.open > .dropdown-togglespan#login_widget > .button.focus,
.open > .dropdown-toggle#logout.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
span#login_widget > .button:active,
#logout:active,
span#login_widget > .button.active,
#logout.active,
.open > .dropdown-togglespan#login_widget > .button,
.open > .dropdown-toggle#logout {
  background-image: none;
}
span#login_widget > .button.disabled:hover,
#logout.disabled:hover,
span#login_widget > .button[disabled]:hover,
#logout[disabled]:hover,
fieldset[disabled] span#login_widget > .button:hover,
fieldset[disabled] #logout:hover,
span#login_widget > .button.disabled:focus,
#logout.disabled:focus,
span#login_widget > .button[disabled]:focus,
#logout[disabled]:focus,
fieldset[disabled] span#login_widget > .button:focus,
fieldset[disabled] #logout:focus,
span#login_widget > .button.disabled.focus,
#logout.disabled.focus,
span#login_widget > .button[disabled].focus,
#logout[disabled].focus,
fieldset[disabled] span#login_widget > .button.focus,
fieldset[disabled] #logout.focus {
  background-color: #fff;
  border-color: #ccc;
}
span#login_widget > .button .badge,
#logout .badge {
  color: #fff;
  background-color: #333;
}
.nav-header {
  text-transform: none;
}
#header > span {
  margin-top: 10px;
}
.modal_stretch .modal-dialog {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 80vh;
}
.modal_stretch .modal-dialog .modal-body {
  max-height: calc(100vh - 200px);
  overflow: auto;
  flex: 1;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 700px;
  }
}
@media (min-width: 768px) {
  select.form-control {
    margin-left: 12px;
    margin-right: 12px;
  }
}
/*!
*
* IPython auth
*
*/
.center-nav {
  display: inline-block;
  margin-bottom: -4px;
}
/*!
*
* IPython tree view
*
*/
/* We need an invisible input field on top of the sentense*/
/* "Drag file onto the list ..." */
.alternate_upload {
  background-color: none;
  display: inline;
}
.alternate_upload.form {
  padding: 0;
  margin: 0;
}
.alternate_upload input.fileinput {
  text-align: center;
  vertical-align: middle;
  display: inline;
  opacity: 0;
  z-index: 2;
  width: 12ex;
  margin-right: -12ex;
}
.alternate_upload .btn-upload {
  height: 22px;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
[dir="rtl"] #tabs li {
  float: right;
}
ul#tabs {
  margin-bottom: 4px;
}
[dir="rtl"] ul#tabs {
  margin-right: 0px;
}
ul#tabs a {
  padding-top: 6px;
  padding-bottom: 4px;
}
ul.breadcrumb a:focus,
ul.breadcrumb a:hover {
  text-decoration: none;
}
ul.breadcrumb i.icon-home {
  font-size: 16px;
  margin-right: 4px;
}
ul.breadcrumb span {
  color: #5e5e5e;
}
.list_toolbar {
  padding: 4px 0 4px 0;
  vertical-align: middle;
}
.list_toolbar .tree-buttons {
  padding-top: 1px;
}
[dir="rtl"] .list_toolbar .tree-buttons {
  float: left !important;
}
[dir="rtl"] .list_toolbar .pull-right {
  padding-top: 1px;
  float: left !important;
}
[dir="rtl"] .list_toolbar .pull-left {
  float: right !important;
}
.dynamic-buttons {
  padding-top: 3px;
  display: inline-block;
}
.list_toolbar [class*="span"] {
  min-height: 24px;
}
.list_header {
  font-weight: bold;
  background-color: #EEE;
}
.list_placeholder {
  font-weight: bold;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
}
.list_container {
  margin-top: 4px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
.list_container > div {
  border-bottom: 1px solid #ddd;
}
.list_container > div:hover .list-item {
  background-color: red;
}
.list_container > div:last-child {
  border: none;
}
.list_item:hover .list_item {
  background-color: #ddd;
}
.list_item a {
  text-decoration: none;
}
.list_item:hover {
  background-color: #fafafa;
}
.list_header > div,
.list_item > div {
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
.list_header > div input,
.list_item > div input {
  margin-right: 7px;
  margin-left: 14px;
  vertical-align: baseline;
  line-height: 22px;
  position: relative;
  top: -1px;
}
.list_header > div .item_link,
.list_item > div .item_link {
  margin-left: -1px;
  vertical-align: baseline;
  line-height: 22px;
}
.new-file input[type=checkbox] {
  visibility: hidden;
}
.item_name {
  line-height: 22px;
  height: 24px;
}
.item_icon {
  font-size: 14px;
  color: #5e5e5e;
  margin-right: 7px;
  margin-left: 7px;
  line-height: 22px;
  vertical-align: baseline;
}
.item_buttons {
  line-height: 1em;
  margin-left: -5px;
}
.item_buttons .btn,
.item_buttons .btn-group,
.item_buttons .input-group {
  float: left;
}
.item_buttons > .btn,
.item_buttons > .btn-group,
.item_buttons > .input-group {
  margin-left: 5px;
}
.item_buttons .btn {
  min-width: 13ex;
}
.item_buttons .running-indicator {
  padding-top: 4px;
  color: #5cb85c;
}
.item_buttons .kernel-name {
  padding-top: 4px;
  color: #5bc0de;
  margin-right: 7px;
  float: left;
}
.toolbar_info {
  height: 24px;
  line-height: 24px;
}
.list_item input:not([type=checkbox]) {
  padding-top: 3px;
  padding-bottom: 3px;
  height: 22px;
  line-height: 14px;
  margin: 0px;
}
.highlight_text {
  color: blue;
}
#project_name {
  display: inline-block;
  padding-left: 7px;
  margin-left: -2px;
}
#project_name > .breadcrumb {
  padding: 0px;
  margin-bottom: 0px;
  background-color: transparent;
  font-weight: bold;
}
#tree-selector {
  padding-right: 0px;
}
[dir="rtl"] #tree-selector a {
  float: right;
}
#button-select-all {
  min-width: 50px;
}
#select-all {
  margin-left: 7px;
  margin-right: 2px;
}
.menu_icon {
  margin-right: 2px;
}
.tab-content .row {
  margin-left: 0px;
  margin-right: 0px;
}
.folder_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f114";
}
.folder_icon:before.pull-left {
  margin-right: .3em;
}
.folder_icon:before.pull-right {
  margin-left: .3em;
}
.notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
}
.notebook_icon:before.pull-left {
  margin-right: .3em;
}
.notebook_icon:before.pull-right {
  margin-left: .3em;
}
.running_notebook_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f02d";
  position: relative;
  top: -1px;
  color: #5cb85c;
}
.running_notebook_icon:before.pull-left {
  margin-right: .3em;
}
.running_notebook_icon:before.pull-right {
  margin-left: .3em;
}
.file_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f016";
  position: relative;
  top: -2px;
}
.file_icon:before.pull-left {
  margin-right: .3em;
}
.file_icon:before.pull-right {
  margin-left: .3em;
}
#notebook_toolbar .pull-right {
  padding-top: 0px;
  margin-right: -1px;
}
ul#new-menu {
  left: auto;
  right: 0;
}
[dir="rtl"] #new-menu {
  text-align: right;
}
.kernel-menu-icon {
  padding-right: 12px;
  width: 24px;
  content: "\f096";
}
.kernel-menu-icon:before {
  content: "\f096";
}
.kernel-menu-icon-current:before {
  content: "\f00c";
}
#tab_content {
  padding-top: 20px;
}
#running .panel-group .panel {
  margin-top: 3px;
  margin-bottom: 1em;
}
#running .panel-group .panel .panel-heading {
  background-color: #EEE;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 7px;
  padding-right: 7px;
  line-height: 22px;
}
#running .panel-group .panel .panel-heading a:focus,
#running .panel-group .panel .panel-heading a:hover {
  text-decoration: none;
}
#running .panel-group .panel .panel-body {
  padding: 0px;
}
#running .panel-group .panel .panel-body .list_container {
  margin-top: 0px;
  margin-bottom: 0px;
  border: 0px;
  border-radius: 0px;
}
#running .panel-group .panel .panel-body .list_container .list_item {
  border-bottom: 1px solid #ddd;
}
#running .panel-group .panel .panel-body .list_container .list_item:last-child {
  border-bottom: 0px;
}
[dir="rtl"] #running .col-sm-8 {
  float: right !important;
}
.delete-button {
  display: none;
}
.duplicate-button {
  display: none;
}
.rename-button {
  display: none;
}
.shutdown-button {
  display: none;
}
.dynamic-instructions {
  display: inline-block;
  padding-top: 4px;
}
/*!
*
* IPython text editor webapp
*
*/
.selected-keymap i.fa {
  padding: 0px 5px;
}
.selected-keymap i.fa:before {
  content: "\f00c";
}
#mode-menu {
  overflow: auto;
  max-height: 20em;
}
.edit_app #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.edit_app #menubar .navbar {
  /* Use a negative 1 bottom margin, so the border overlaps the border of the
    header */
  margin-bottom: -1px;
}
.dirty-indicator {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator.pull-left {
  margin-right: .3em;
}
.dirty-indicator.pull-right {
  margin-left: .3em;
}
.dirty-indicator-dirty {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-dirty.pull-left {
  margin-right: .3em;
}
.dirty-indicator-dirty.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 20px;
}
.dirty-indicator-clean.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean.pull-right {
  margin-left: .3em;
}
.dirty-indicator-clean:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f00c";
}
.dirty-indicator-clean:before.pull-left {
  margin-right: .3em;
}
.dirty-indicator-clean:before.pull-right {
  margin-left: .3em;
}
#filename {
  font-size: 16pt;
  display: table;
  padding: 0px 5px;
}
#current-mode {
  padding-left: 5px;
  padding-right: 5px;
}
#texteditor-backdrop {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media not print {
  #texteditor-backdrop {
    background-color: #EEE;
  }
}
@media print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container .CodeMirror-gutter,
  #texteditor-backdrop #texteditor-container .CodeMirror-gutters {
    background-color: #fff;
  }
}
@media not print {
  #texteditor-backdrop #texteditor-container {
    padding: 0px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
/*!
*
* IPython notebook
*
*/
/* CSS font colors for translated ANSI colors. */
.ansibold {
  font-weight: bold;
}
/* use dark versions for foreground, to improve visibility */
.ansiblack {
  color: black;
}
.ansired {
  color: darkred;
}
.ansigreen {
  color: darkgreen;
}
.ansiyellow {
  color: #c4a000;
}
.ansiblue {
  color: darkblue;
}
.ansipurple {
  color: darkviolet;
}
.ansicyan {
  color: steelblue;
}
.ansigray {
  color: gray;
}
/* and light for background, for the same reason */
.ansibgblack {
  background-color: black;
}
.ansibgred {
  background-color: red;
}
.ansibggreen {
  background-color: green;
}
.ansibgyellow {
  background-color: yellow;
}
.ansibgblue {
  background-color: blue;
}
.ansibgpurple {
  background-color: magenta;
}
.ansibgcyan {
  background-color: cyan;
}
.ansibggray {
  background-color: gray;
}
div.cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  border-radius: 2px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  width: 100%;
  padding: 5px;
  /* This acts as a spacer between cells, that is outside the border */
  margin: 0px;
  outline: none;
  border-left-width: 1px;
  padding-left: 5px;
  background: linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%);
}
div.cell.jupyter-soft-selected {
  border-left-color: #90CAF9;
  border-left-color: #E3F2FD;
  border-left-width: 1px;
  padding-left: 5px;
  border-right-color: #E3F2FD;
  border-right-width: 1px;
  background: #E3F2FD;
}
@media print {
  div.cell.jupyter-soft-selected {
    border-color: transparent;
  }
}
div.cell.selected {
  border-color: #ababab;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 5px, transparent 5px, transparent 100%);
}
@media print {
  div.cell.selected {
    border-color: transparent;
  }
}
div.cell.selected.jupyter-soft-selected {
  border-left-width: 0;
  padding-left: 6px;
  background: linear-gradient(to right, #42A5F5 -40px, #42A5F5 7px, #E3F2FD 7px, #E3F2FD 100%);
}
.edit_mode div.cell.selected {
  border-color: #66BB6A;
  border-left-width: 0px;
  padding-left: 6px;
  background: linear-gradient(to right, #66BB6A -40px, #66BB6A 5px, transparent 5px, transparent 100%);
}
@media print {
  .edit_mode div.cell.selected {
    border-color: transparent;
  }
}
.prompt {
  /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */
  min-width: 14ex;
  /* This padding is tuned to match the padding on the CodeMirror editor. */
  padding: 0.4em;
  margin: 0px;
  font-family: monospace;
  text-align: right;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
  /* Don't highlight prompt number selection */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Use default cursor */
  cursor: default;
}
@media (max-width: 540px) {
  .prompt {
    text-align: left;
  }
}
div.inner_cell {
  min-width: 0;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_area {
  border: 1px solid #cfcfcf;
  border-radius: 2px;
  background: #f7f7f7;
  line-height: 1.21429em;
}
/* This is needed so that empty prompt areas can collapse to zero height when there
   is no content in the output_subarea and the prompt. The main purpose of this is
   to make sure that empty JavaScript output_subareas have no height. */
div.prompt:empty {
  padding-top: 0;
  padding-bottom: 0;
}
div.unrecognized_cell {
  padding: 5px 5px 5px 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.unrecognized_cell .inner_cell {
  border-radius: 2px;
  padding: 5px;
  font-weight: bold;
  color: red;
  border: 1px solid #cfcfcf;
  background: #eaeaea;
}
div.unrecognized_cell .inner_cell a {
  color: inherit;
  text-decoration: none;
}
div.unrecognized_cell .inner_cell a:hover {
  color: inherit;
  text-decoration: none;
}
@media (max-width: 540px) {
  div.unrecognized_cell > div.prompt {
    display: none;
  }
}
div.code_cell {
  /* avoid page breaking on code cells when printing */
}
@media print {
  div.code_cell {
    page-break-inside: avoid;
  }
}
/* any special styling for code cells that are currently running goes here */
div.input {
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.input {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
/* input_area and input_prompt must match in top border and margin for alignment */
div.input_prompt {
  color: #303F9F;
  border-top: 1px solid transparent;
}
div.input_area > div.highlight {
  margin: 0.4em;
  border: none;
  padding: 0px;
  background-color: transparent;
}
div.input_area > div.highlight > pre {
  margin: 0px;
  border: none;
  padding: 0px;
  background-color: transparent;
}
/* The following gets added to the <head> if it is detected that the user has a
 * monospace font with inconsistent normal/bold/italic height.  See
 * notebookmain.js.  Such fonts will have keywords vertically offset with
 * respect to the rest of the text.  The user should select a better font.
 * See: https://github.com/ipython/ipython/issues/1503
 *
 * .CodeMirror span {
 *      vertical-align: bottom;
 * }
 */
.CodeMirror {
  line-height: 1.21429em;
  /* Changed from 1em to our global default */
  font-size: 14px;
  height: auto;
  /* Changed to auto to autogrow */
  background: none;
  /* Changed from white to allow our bg to show through */
}
.CodeMirror-scroll {
  /*  The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/
  /*  We have found that if it is visible, vertical scrollbars appear with font size changes.*/
  overflow-y: hidden;
  overflow-x: auto;
}
.CodeMirror-lines {
  /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */
  /* we have set a different line-height and want this to scale with that. */
  padding: 0.4em;
}
.CodeMirror-linenumber {
  padding: 0 8px 0 4px;
}
.CodeMirror-gutters {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.CodeMirror pre {
  /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */
  /* .CodeMirror-lines */
  padding: 0;
  border: 0;
  border-radius: 0;
}
/*

Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
Adapted from GitHub theme

*/
.highlight-base {
  color: #000;
}
.highlight-variable {
  color: #000;
}
.highlight-variable-2 {
  color: #1a1a1a;
}
.highlight-variable-3 {
  color: #333333;
}
.highlight-string {
  color: #BA2121;
}
.highlight-comment {
  color: #408080;
  font-style: italic;
}
.highlight-number {
  color: #080;
}
.highlight-atom {
  color: #88F;
}
.highlight-keyword {
  color: #008000;
  font-weight: bold;
}
.highlight-builtin {
  color: #008000;
}
.highlight-error {
  color: #f00;
}
.highlight-operator {
  color: #AA22FF;
  font-weight: bold;
}
.highlight-meta {
  color: #AA22FF;
}
/* previously not defined, copying from default codemirror */
.highlight-def {
  color: #00f;
}
.highlight-string-2 {
  color: #f50;
}
.highlight-qualifier {
  color: #555;
}
.highlight-bracket {
  color: #997;
}
.highlight-tag {
  color: #170;
}
.highlight-attribute {
  color: #00c;
}
.highlight-header {
  color: blue;
}
.highlight-quote {
  color: #090;
}
.highlight-link {
  color: #00c;
}
/* apply the same style to codemirror */
.cm-s-ipython span.cm-keyword {
  color: #008000;
  font-weight: bold;
}
.cm-s-ipython span.cm-atom {
  color: #88F;
}
.cm-s-ipython span.cm-number {
  color: #080;
}
.cm-s-ipython span.cm-def {
  color: #00f;
}
.cm-s-ipython span.cm-variable {
  color: #000;
}
.cm-s-ipython span.cm-operator {
  color: #AA22FF;
  font-weight: bold;
}
.cm-s-ipython span.cm-variable-2 {
  color: #1a1a1a;
}
.cm-s-ipython span.cm-variable-3 {
  color: #333333;
}
.cm-s-ipython span.cm-comment {
  color: #408080;
  font-style: italic;
}
.cm-s-ipython span.cm-string {
  color: #BA2121;
}
.cm-s-ipython span.cm-string-2 {
  color: #f50;
}
.cm-s-ipython span.cm-meta {
  color: #AA22FF;
}
.cm-s-ipython span.cm-qualifier {
  color: #555;
}
.cm-s-ipython span.cm-builtin {
  color: #008000;
}
.cm-s-ipython span.cm-bracket {
  color: #997;
}
.cm-s-ipython span.cm-tag {
  color: #170;
}
.cm-s-ipython span.cm-attribute {
  color: #00c;
}
.cm-s-ipython span.cm-header {
  color: blue;
}
.cm-s-ipython span.cm-quote {
  color: #090;
}
.cm-s-ipython span.cm-link {
  color: #00c;
}
.cm-s-ipython span.cm-error {
  color: #f00;
}
.cm-s-ipython span.cm-tab {
  background: url();
  background-position: right;
  background-repeat: no-repeat;
}
div.output_wrapper {
  /* this position must be relative to enable descendents to be absolute within it */
  position: relative;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  z-index: 1;
}
/* class for the output area when it should be height-limited */
div.output_scroll {
  /* ideally, this would be max-height, but FF barfs all over that */
  height: 24em;
  /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */
  width: 100%;
  overflow: auto;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.8);
  display: block;
}
/* output div while it is collapsed */
div.output_collapsed {
  margin: 0px;
  padding: 0px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
div.out_prompt_overlay {
  height: 100%;
  padding: 0px 0.4em;
  position: absolute;
  border-radius: 2px;
}
div.out_prompt_overlay:hover {
  /* use inner shadow to get border that is computed the same on WebKit/FF */
  -webkit-box-shadow: inset 0 0 1px #000;
  box-shadow: inset 0 0 1px #000;
  background: rgba(240, 240, 240, 0.5);
}
div.output_prompt {
  color: #D84315;
}
/* This class is the outer container of all output sections. */
div.output_area {
  padding: 0px;
  page-break-inside: avoid;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
div.output_area .MathJax_Display {
  text-align: left !important;
}
div.output_area .rendered_html table {
  margin-left: 0;
  margin-right: 0;
}
div.output_area .rendered_html img {
  margin-left: 0;
  margin-right: 0;
}
div.output_area img,
div.output_area svg {
  max-width: 100%;
  height: auto;
}
div.output_area img.unconfined,
div.output_area svg.unconfined {
  max-width: none;
}
/* This is needed to protect the pre formating from global settings such
   as that of bootstrap */
.output {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: vertical;
  -moz-box-align: stretch;
  display: box;
  box-orient: vertical;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.output_area {
    /* Old browsers */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-align: stretch;
    display: -moz-box;
    -moz-box-orient: vertical;
    -moz-box-align: stretch;
    display: box;
    box-orient: vertical;
    box-align: stretch;
    /* Modern browsers */
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
div.output_area pre {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  color: black;
  background-color: transparent;
  border-radius: 0;
}
/* This class is for the output subarea inside the output_area and after
   the prompt div. */
div.output_subarea {
  overflow-x: auto;
  padding: 0.4em;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
  max-width: calc(100% - 14ex);
}
div.output_scroll div.output_subarea {
  overflow-x: visible;
}
/* The rest of the output_* classes are for special styling of the different
   output types */
/* all text output has this class: */
div.output_text {
  text-align: left;
  color: #000;
  /* This has to match that of the the CodeMirror class line-height below */
  line-height: 1.21429em;
}
/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */
div.output_stderr {
  background: #fdd;
  /* very light red background for stderr */
}
div.output_latex {
  text-align: left;
}
/* Empty output_javascript divs should have no height */
div.output_javascript:empty {
  padding: 0;
}
.js-error {
  color: darkred;
}
/* raw_input styles */
div.raw_input_container {
  line-height: 1.21429em;
  padding-top: 5px;
}
pre.raw_input_prompt {
  /* nothing needed here. */
}
input.raw_input {
  font-family: monospace;
  font-size: inherit;
  color: inherit;
  width: auto;
  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;
  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0em 0.25em;
  margin: 0em 0.25em;
}
input.raw_input:focus {
  box-shadow: none;
}
p.p-space {
  margin-bottom: 10px;
}
div.output_unrecognized {
  padding: 5px;
  font-weight: bold;
  color: red;
}
div.output_unrecognized a {
  color: inherit;
  text-decoration: none;
}
div.output_unrecognized a:hover {
  color: inherit;
  text-decoration: none;
}
.rendered_html {
  color: #000;
  /* any extras will just be numbers: */
}
.rendered_html em {
  font-style: italic;
}
.rendered_html strong {
  font-weight: bold;
}
.rendered_html u {
  text-decoration: underline;
}
.rendered_html :link {
  text-decoration: underline;
}
.rendered_html :visited {
  text-decoration: underline;
}
.rendered_html h1 {
  font-size: 185.7%;
  margin: 1.08em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h2 {
  font-size: 157.1%;
  margin: 1.27em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h3 {
  font-size: 128.6%;
  margin: 1.55em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h4 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
}
.rendered_html h5 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h6 {
  font-size: 100%;
  margin: 2em 0 0 0;
  font-weight: bold;
  line-height: 1.0;
  font-style: italic;
}
.rendered_html h1:first-child {
  margin-top: 0.538em;
}
.rendered_html h2:first-child {
  margin-top: 0.636em;
}
.rendered_html h3:first-child {
  margin-top: 0.777em;
}
.rendered_html h4:first-child {
  margin-top: 1em;
}
.rendered_html h5:first-child {
  margin-top: 1em;
}
.rendered_html h6:first-child {
  margin-top: 1em;
}
.rendered_html ul {
  list-style: disc;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ul ul {
  list-style: square;
  margin: 0em 2em;
}
.rendered_html ul ul ul {
  list-style: circle;
  margin: 0em 2em;
}
.rendered_html ol {
  list-style: decimal;
  margin: 0em 2em;
  padding-left: 0px;
}
.rendered_html ol ol {
  list-style: upper-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol {
  list-style: lower-alpha;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol {
  list-style: lower-roman;
  margin: 0em 2em;
}
.rendered_html ol ol ol ol ol {
  list-style: decimal;
  margin: 0em 2em;
}
.rendered_html * + ul {
  margin-top: 1em;
}
.rendered_html * + ol {
  margin-top: 1em;
}
.rendered_html hr {
  color: black;
  background-color: black;
}
.rendered_html pre {
  margin: 1em 2em;
}
.rendered_html pre,
.rendered_html code {
  border: 0;
  background-color: #fff;
  color: #000;
  font-size: 100%;
  padding: 0px;
}
.rendered_html blockquote {
  margin: 1em 2em;
}
.rendered_html table {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid black;
  border-collapse: collapse;
}
.rendered_html tr,
.rendered_html th,
.rendered_html td {
  border: 1px solid black;
  border-collapse: collapse;
  margin: 1em 2em;
}
.rendered_html td,
.rendered_html th {
  text-align: left;
  vertical-align: middle;
  padding: 4px;
}
.rendered_html th {
  font-weight: bold;
}
.rendered_html * + table {
  margin-top: 1em;
}
.rendered_html p {
  text-align: left;
}
.rendered_html * + p {
  margin-top: 1em;
}
.rendered_html img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.rendered_html * + img {
  margin-top: 1em;
}
.rendered_html img,
.rendered_html svg {
  max-width: 100%;
  height: auto;
}
.rendered_html img.unconfined,
.rendered_html svg.unconfined {
  max-width: none;
}
div.text_cell {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
}
@media (max-width: 540px) {
  div.text_cell > div.prompt {
    display: none;
  }
}
div.text_cell_render {
  /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/
  outline: none;
  resize: none;
  width: inherit;
  border-style: none;
  padding: 0.5em 0.5em 0.5em 0.4em;
  color: #000;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
a.anchor-link:link {
  text-decoration: none;
  padding: 0px 20px;
  visibility: hidden;
}
h1:hover .anchor-link,
h2:hover .anchor-link,
h3:hover .anchor-link,
h4:hover .anchor-link,
h5:hover .anchor-link,
h6:hover .anchor-link {
  visibility: visible;
}
.text_cell.rendered .input_area {
  display: none;
}
.text_cell.rendered .rendered_html {
  overflow-x: auto;
  overflow-y: hidden;
}
.text_cell.unrendered .text_cell_render {
  display: none;
}
.cm-header-1,
.cm-header-2,
.cm-header-3,
.cm-header-4,
.cm-header-5,
.cm-header-6 {
  font-weight: bold;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.cm-header-1 {
  font-size: 185.7%;
}
.cm-header-2 {
  font-size: 157.1%;
}
.cm-header-3 {
  font-size: 128.6%;
}
.cm-header-4 {
  font-size: 110%;
}
.cm-header-5 {
  font-size: 100%;
  font-style: italic;
}
.cm-header-6 {
  font-size: 100%;
  font-style: italic;
}
/*!
*
* IPython notebook webapp
*
*/
@media (max-width: 767px) {
  .notebook_app {
    padding-left: 0px;
    padding-right: 0px;
  }
}
#ipython-main-app {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook_panel {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  height: 100%;
}
div#notebook {
  font-size: 14px;
  line-height: 20px;
  overflow-y: hidden;
  overflow-x: auto;
  width: 100%;
  /* This spaces the page away from the edge of the notebook area */
  padding-top: 20px;
  margin: 0px;
  outline: none;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  min-height: 100%;
}
@media not print {
  #notebook-container {
    padding: 15px;
    background-color: #fff;
    min-height: 0;
    -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
    box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  }
}
@media print {
  #notebook-container {
    width: 100%;
  }
}
div.ui-widget-content {
  border: 1px solid #ababab;
  outline: none;
}
pre.dialog {
  background-color: #f7f7f7;
  border: 1px solid #ddd;
  border-radius: 2px;
  padding: 0.4em;
  padding-left: 2em;
}
p.dialog {
  padding: 0.2em;
}
/* Word-wrap output correctly.  This is the CSS3 spelling, though Firefox seems
   to not honor it correctly.  Webkit browsers (Chrome, rekonq, Safari) do.
 */
pre,
code,
kbd,
samp {
  white-space: pre-wrap;
}
#fonttest {
  font-family: monospace;
}
p {
  margin-bottom: 0;
}
.end_space {
  min-height: 100px;
  transition: height .2s ease;
}
.notebook_app > #header {
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
@media not print {
  .notebook_app {
    background-color: #EEE;
  }
}
kbd {
  border-style: solid;
  border-width: 1px;
  box-shadow: none;
  margin: 2px;
  padding-left: 2px;
  padding-right: 2px;
  padding-top: 1px;
  padding-bottom: 1px;
}
/* CSS for the cell toolbar */
.celltoolbar {
  border: thin solid #CFCFCF;
  border-bottom: none;
  background: #EEE;
  border-radius: 2px 2px 0px 0px;
  width: 100%;
  height: 29px;
  padding-right: 4px;
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  /* Old browsers */
  -webkit-box-pack: end;
  -moz-box-pack: end;
  box-pack: end;
  /* Modern browsers */
  justify-content: flex-end;
  display: -webkit-flex;
}
@media print {
  .celltoolbar {
    display: none;
  }
}
.ctb_hideshow {
  display: none;
  vertical-align: bottom;
}
/* ctb_show is added to the ctb_hideshow div to show the cell toolbar.
   Cell toolbars are only shown when the ctb_global_show class is also set.
*/
.ctb_global_show .ctb_show.ctb_hideshow {
  display: block;
}
.ctb_global_show .ctb_show + .input_area,
.ctb_global_show .ctb_show + div.text_cell_input,
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
}
.ctb_global_show .ctb_show ~ div.text_cell_render {
  border: 1px solid #cfcfcf;
}
.celltoolbar {
  font-size: 87%;
  padding-top: 3px;
}
.celltoolbar select {
  display: block;
  width: 100%;
  height: 32px;
  padding: 6px 12px;
  font-size: 13px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 1px;
  width: inherit;
  font-size: inherit;
  height: 22px;
  padding: 0px;
  display: inline-block;
}
.celltoolbar select:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.celltoolbar select::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.celltoolbar select:-ms-input-placeholder {
  color: #999;
}
.celltoolbar select::-webkit-input-placeholder {
  color: #999;
}
.celltoolbar select::-ms-expand {
  border: 0;
  background-color: transparent;
}
.celltoolbar select[disabled],
.celltoolbar select[readonly],
fieldset[disabled] .celltoolbar select {
  background-color: #eeeeee;
  opacity: 1;
}
.celltoolbar select[disabled],
fieldset[disabled] .celltoolbar select {
  cursor: not-allowed;
}
textarea.celltoolbar select {
  height: auto;
}
select.celltoolbar select {
  height: 30px;
  line-height: 30px;
}
textarea.celltoolbar select,
select[multiple].celltoolbar select {
  height: auto;
}
.celltoolbar label {
  margin-left: 5px;
  margin-right: 5px;
}
.completions {
  position: absolute;
  z-index: 110;
  overflow: hidden;
  border: 1px solid #ababab;
  border-radius: 2px;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  line-height: 1;
}
.completions select {
  background: white;
  outline: none;
  border: none;
  padding: 0px;
  margin: 0px;
  overflow: auto;
  font-family: monospace;
  font-size: 110%;
  color: #000;
  width: auto;
}
.completions select option.context {
  color: #286090;
}
#kernel_logo_widget {
  float: right !important;
  float: right;
}
#kernel_logo_widget .current_kernel_logo {
  display: none;
  margin-top: -1px;
  margin-bottom: -1px;
  width: 32px;
  height: 32px;
}
#menubar {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin-top: 1px;
}
#menubar .navbar {
  border-top: 1px;
  border-radius: 0px 0px 2px 2px;
  margin-bottom: 0px;
}
#menubar .navbar-toggle {
  float: left;
  padding-top: 7px;
  padding-bottom: 7px;
  border: none;
}
#menubar .navbar-collapse {
  clear: left;
}
.nav-wrapper {
  border-bottom: 1px solid #e7e7e7;
}
i.menu-icon {
  padding-top: 4px;
}
ul#help_menu li a {
  overflow: hidden;
  padding-right: 2.2em;
}
ul#help_menu li a i {
  margin-right: -1.2em;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
.dropdown-submenu > a:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  content: "\f0da";
  float: right;
  color: #333333;
  margin-top: 2px;
  margin-right: -10px;
}
.dropdown-submenu > a:after.pull-left {
  margin-right: .3em;
}
.dropdown-submenu > a:after.pull-right {
  margin-left: .3em;
}
.dropdown-submenu:hover > a:after {
  color: #262626;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
}
#notification_area {
  float: right !important;
  float: right;
  z-index: 10;
}
.indicator_area {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#kernel_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  border-left: 1px solid;
}
#kernel_indicator .kernel_indicator_name {
  padding-left: 5px;
  padding-right: 5px;
}
#modal_indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
}
#readonly-indicator {
  float: right !important;
  float: right;
  color: #777;
  margin-left: 5px;
  margin-right: 5px;
  width: 11px;
  z-index: 10;
  text-align: center;
  width: auto;
  margin-top: 2px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  display: none;
}
.modal_indicator:before {
  width: 1.28571429em;
  text-align: center;
}
.edit_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f040";
}
.edit_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.edit_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.command_mode .modal_indicator:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: ' ';
}
.command_mode .modal_indicator:before.pull-left {
  margin-right: .3em;
}
.command_mode .modal_indicator:before.pull-right {
  margin-left: .3em;
}
.kernel_idle_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f10c";
}
.kernel_idle_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_idle_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_busy_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f111";
}
.kernel_busy_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_busy_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_dead_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f1e2";
}
.kernel_dead_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_dead_icon:before.pull-right {
  margin-left: .3em;
}
.kernel_disconnected_icon:before {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f127";
}
.kernel_disconnected_icon:before.pull-left {
  margin-right: .3em;
}
.kernel_disconnected_icon:before.pull-right {
  margin-left: .3em;
}
.notification_widget {
  color: #777;
  z-index: 10;
  background: rgba(240, 240, 240, 0.5);
  margin-right: 4px;
  color: #333;
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget:focus,
.notification_widget.focus {
  color: #333;
  background-color: #e6e6e6;
  border-color: #8c8c8c;
}
.notification_widget:hover {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.notification_widget:active:hover,
.notification_widget.active:hover,
.open > .dropdown-toggle.notification_widget:hover,
.notification_widget:active:focus,
.notification_widget.active:focus,
.open > .dropdown-toggle.notification_widget:focus,
.notification_widget:active.focus,
.notification_widget.active.focus,
.open > .dropdown-toggle.notification_widget.focus {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
}
.notification_widget:active,
.notification_widget.active,
.open > .dropdown-toggle.notification_widget {
  background-image: none;
}
.notification_widget.disabled:hover,
.notification_widget[disabled]:hover,
fieldset[disabled] .notification_widget:hover,
.notification_widget.disabled:focus,
.notification_widget[disabled]:focus,
fieldset[disabled] .notification_widget:focus,
.notification_widget.disabled.focus,
.notification_widget[disabled].focus,
fieldset[disabled] .notification_widget.focus {
  background-color: #fff;
  border-color: #ccc;
}
.notification_widget .badge {
  color: #fff;
  background-color: #333;
}
.notification_widget.warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning:focus,
.notification_widget.warning.focus {
  color: #fff;
  background-color: #ec971f;
  border-color: #985f0d;
}
.notification_widget.warning:hover {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  color: #fff;
  background-color: #ec971f;
  border-color: #d58512;
}
.notification_widget.warning:active:hover,
.notification_widget.warning.active:hover,
.open > .dropdown-toggle.notification_widget.warning:hover,
.notification_widget.warning:active:focus,
.notification_widget.warning.active:focus,
.open > .dropdown-toggle.notification_widget.warning:focus,
.notification_widget.warning:active.focus,
.notification_widget.warning.active.focus,
.open > .dropdown-toggle.notification_widget.warning.focus {
  color: #fff;
  background-color: #d58512;
  border-color: #985f0d;
}
.notification_widget.warning:active,
.notification_widget.warning.active,
.open > .dropdown-toggle.notification_widget.warning {
  background-image: none;
}
.notification_widget.warning.disabled:hover,
.notification_widget.warning[disabled]:hover,
fieldset[disabled] .notification_widget.warning:hover,
.notification_widget.warning.disabled:focus,
.notification_widget.warning[disabled]:focus,
fieldset[disabled] .notification_widget.warning:focus,
.notification_widget.warning.disabled.focus,
.notification_widget.warning[disabled].focus,
fieldset[disabled] .notification_widget.warning.focus {
  background-color: #f0ad4e;
  border-color: #eea236;
}
.notification_widget.warning .badge {
  color: #f0ad4e;
  background-color: #fff;
}
.notification_widget.success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success:focus,
.notification_widget.success.focus {
  color: #fff;
  background-color: #449d44;
  border-color: #255625;
}
.notification_widget.success:hover {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  color: #fff;
  background-color: #449d44;
  border-color: #398439;
}
.notification_widget.success:active:hover,
.notification_widget.success.active:hover,
.open > .dropdown-toggle.notification_widget.success:hover,
.notification_widget.success:active:focus,
.notification_widget.success.active:focus,
.open > .dropdown-toggle.notification_widget.success:focus,
.notification_widget.success:active.focus,
.notification_widget.success.active.focus,
.open > .dropdown-toggle.notification_widget.success.focus {
  color: #fff;
  background-color: #398439;
  border-color: #255625;
}
.notification_widget.success:active,
.notification_widget.success.active,
.open > .dropdown-toggle.notification_widget.success {
  background-image: none;
}
.notification_widget.success.disabled:hover,
.notification_widget.success[disabled]:hover,
fieldset[disabled] .notification_widget.success:hover,
.notification_widget.success.disabled:focus,
.notification_widget.success[disabled]:focus,
fieldset[disabled] .notification_widget.success:focus,
.notification_widget.success.disabled.focus,
.notification_widget.success[disabled].focus,
fieldset[disabled] .notification_widget.success.focus {
  background-color: #5cb85c;
  border-color: #4cae4c;
}
.notification_widget.success .badge {
  color: #5cb85c;
  background-color: #fff;
}
.notification_widget.info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info:focus,
.notification_widget.info.focus {
  color: #fff;
  background-color: #31b0d5;
  border-color: #1b6d85;
}
.notification_widget.info:hover {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  color: #fff;
  background-color: #31b0d5;
  border-color: #269abc;
}
.notification_widget.info:active:hover,
.notification_widget.info.active:hover,
.open > .dropdown-toggle.notification_widget.info:hover,
.notification_widget.info:active:focus,
.notification_widget.info.active:focus,
.open > .dropdown-toggle.notification_widget.info:focus,
.notification_widget.info:active.focus,
.notification_widget.info.active.focus,
.open > .dropdown-toggle.notification_widget.info.focus {
  color: #fff;
  background-color: #269abc;
  border-color: #1b6d85;
}
.notification_widget.info:active,
.notification_widget.info.active,
.open > .dropdown-toggle.notification_widget.info {
  background-image: none;
}
.notification_widget.info.disabled:hover,
.notification_widget.info[disabled]:hover,
fieldset[disabled] .notification_widget.info:hover,
.notification_widget.info.disabled:focus,
.notification_widget.info[disabled]:focus,
fieldset[disabled] .notification_widget.info:focus,
.notification_widget.info.disabled.focus,
.notification_widget.info[disabled].focus,
fieldset[disabled] .notification_widget.info.focus {
  background-color: #5bc0de;
  border-color: #46b8da;
}
.notification_widget.info .badge {
  color: #5bc0de;
  background-color: #fff;
}
.notification_widget.danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger:focus,
.notification_widget.danger.focus {
  color: #fff;
  background-color: #c9302c;
  border-color: #761c19;
}
.notification_widget.danger:hover {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  color: #fff;
  background-color: #c9302c;
  border-color: #ac2925;
}
.notification_widget.danger:active:hover,
.notification_widget.danger.active:hover,
.open > .dropdown-toggle.notification_widget.danger:hover,
.notification_widget.danger:active:focus,
.notification_widget.danger.active:focus,
.open > .dropdown-toggle.notification_widget.danger:focus,
.notification_widget.danger:active.focus,
.notification_widget.danger.active.focus,
.open > .dropdown-toggle.notification_widget.danger.focus {
  color: #fff;
  background-color: #ac2925;
  border-color: #761c19;
}
.notification_widget.danger:active,
.notification_widget.danger.active,
.open > .dropdown-toggle.notification_widget.danger {
  background-image: none;
}
.notification_widget.danger.disabled:hover,
.notification_widget.danger[disabled]:hover,
fieldset[disabled] .notification_widget.danger:hover,
.notification_widget.danger.disabled:focus,
.notification_widget.danger[disabled]:focus,
fieldset[disabled] .notification_widget.danger:focus,
.notification_widget.danger.disabled.focus,
.notification_widget.danger[disabled].focus,
fieldset[disabled] .notification_widget.danger.focus {
  background-color: #d9534f;
  border-color: #d43f3a;
}
.notification_widget.danger .badge {
  color: #d9534f;
  background-color: #fff;
}
div#pager {
  background-color: #fff;
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
  display: none;
  position: fixed;
  bottom: 0px;
  width: 100%;
  max-height: 50%;
  padding-top: 8px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  /* Display over codemirror */
  z-index: 100;
  /* Hack which prevents jquery ui resizable from changing top. */
  top: auto !important;
}
div#pager pre {
  line-height: 1.21429em;
  color: #000;
  background-color: #f7f7f7;
  padding: 0.4em;
}
div#pager #pager-button-area {
  position: absolute;
  top: 8px;
  right: 20px;
}
div#pager #pager-contents {
  position: relative;
  overflow: auto;
  width: 100%;
  height: 100%;
}
div#pager #pager-contents #pager-container {
  position: relative;
  padding: 15px 0px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
div#pager .ui-resizable-handle {
  top: 0px;
  height: 8px;
  background: #f7f7f7;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  /* This injects handle bars (a short, wide = symbol) for 
        the resize handle. */
}
div#pager .ui-resizable-handle::after {
  content: '';
  top: 2px;
  left: 50%;
  height: 3px;
  width: 30px;
  margin-left: -15px;
  position: absolute;
  border-top: 1px solid #cfcfcf;
}
.quickhelp {
  /* Old browsers */
  display: -webkit-box;
  -webkit-box-orient: horizontal;
  -webkit-box-align: stretch;
  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-align: stretch;
  display: box;
  box-orient: horizontal;
  box-align: stretch;
  /* Modern browsers */
  display: flex;
  flex-direction: row;
  align-items: stretch;
  line-height: 1.8em;
}
.shortcut_key {
  display: inline-block;
  width: 21ex;
  text-align: right;
  font-family: monospace;
}
.shortcut_descr {
  display: inline-block;
  /* Old browsers */
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;
  /* Modern browsers */
  flex: 1;
}
span.save_widget {
  margin-top: 6px;
}
span.save_widget span.filename {
  height: 1em;
  line-height: 1em;
  padding: 3px;
  margin-left: 16px;
  border: none;
  font-size: 146.5%;
  border-radius: 2px;
}
span.save_widget span.filename:hover {
  background-color: #e6e6e6;
}
span.checkpoint_status,
span.autosave_status {
  font-size: small;
}
@media (max-width: 767px) {
  span.save_widget {
    font-size: small;
  }
  span.checkpoint_status,
  span.autosave_status {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  span.checkpoint_status {
    display: none;
  }
  span.autosave_status {
    font-size: x-small;
  }
}
.toolbar {
  padding: 0px;
  margin-left: -5px;
  margin-top: 2px;
  margin-bottom: 5px;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.toolbar select,
.toolbar label {
  width: auto;
  vertical-align: middle;
  margin-right: 2px;
  margin-bottom: 0px;
  display: inline;
  font-size: 92%;
  margin-left: 0.3em;
  margin-right: 0.3em;
  padding: 0px;
  padding-top: 3px;
}
.toolbar .btn {
  padding: 2px 8px;
}
.toolbar .btn-group {
  margin-top: 0px;
  margin-left: 5px;
}
#maintoolbar {
  margin-bottom: -3px;
  margin-top: -8px;
  border: 0px;
  min-height: 27px;
  margin-left: 0px;
  padding-top: 11px;
  padding-bottom: 3px;
}
#maintoolbar .navbar-text {
  float: none;
  vertical-align: middle;
  text-align: right;
  margin-left: 5px;
  margin-right: 0px;
  margin-top: 0px;
}
.select-xs {
  height: 24px;
}
.pulse,
.dropdown-menu > li > a.pulse,
li.pulse > a.dropdown-toggle,
li.pulse.open > a.dropdown-toggle {
  background-color: #F37626;
  color: white;
}
/**
 * Primary styles
 *
 * Author: Jupyter Development Team
 */
/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot
 * of chance of beeing generated from the ../less/[samename].less file, you can
 * try to get back the less file by reverting somme commit in history
 **/
/*
 * We'll try to get something pretty, so we
 * have some strange css to have the scroll bar on
 * the left with fix button on the top right of the tooltip
 */
@-moz-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-moz-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*properties of tooltip after "expand"*/
.bigtooltip {
  overflow: auto;
  height: 200px;
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
}
/*properties of tooltip before "expand"*/
.smalltooltip {
  -webkit-transition-property: height;
  -webkit-transition-duration: 500ms;
  -moz-transition-property: height;
  -moz-transition-duration: 500ms;
  transition-property: height;
  transition-duration: 500ms;
  text-overflow: ellipsis;
  overflow: hidden;
  height: 80px;
}
.tooltipbuttons {
  position: absolute;
  padding-right: 15px;
  top: 0px;
  right: 0px;
}
.tooltiptext {
  /*avoid the button to overlap on some docstring*/
  padding-right: 30px;
}
.ipython_tooltip {
  max-width: 700px;
  /*fade-in animation when inserted*/
  -webkit-animation: fadeOut 400ms;
  -moz-animation: fadeOut 400ms;
  animation: fadeOut 400ms;
  -webkit-animation: fadeIn 400ms;
  -moz-animation: fadeIn 400ms;
  animation: fadeIn 400ms;
  vertical-align: middle;
  background-color: #f7f7f7;
  overflow: visible;
  border: #ababab 1px solid;
  outline: none;
  padding: 3px;
  margin: 0px;
  padding-left: 7px;
  font-family: monospace;
  min-height: 50px;
  -moz-box-shadow: 0px 6px 10px -1px #adadad;
  -webkit-box-shadow: 0px 6px 10px -1px #adadad;
  box-shadow: 0px 6px 10px -1px #adadad;
  border-radius: 2px;
  position: absolute;
  z-index: 1000;
}
.ipython_tooltip a {
  float: right;
}
.ipython_tooltip .tooltiptext pre {
  border: 0;
  border-radius: 0;
  font-size: 100%;
  background-color: #f7f7f7;
}
.pretooltiparrow {
  left: 0px;
  margin: 0px;
  top: -16px;
  width: 40px;
  height: 16px;
  overflow: hidden;
  position: absolute;
}
.pretooltiparrow:before {
  background-color: #f7f7f7;
  border: 1px #ababab solid;
  z-index: 11;
  content: "";
  position: absolute;
  left: 15px;
  top: 10px;
  width: 25px;
  height: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
ul.typeahead-list i {
  margin-left: -10px;
  width: 18px;
}
ul.typeahead-list {
  max-height: 80vh;
  overflow: auto;
}
ul.typeahead-list > li > a {
  /** Firefox bug **/
  /* see https://github.com/jupyter/notebook/issues/559 */
  white-space: normal;
}
.cmd-palette .modal-body {
  padding: 7px;
}
.cmd-palette form {
  background: white;
}
.cmd-palette input {
  outline: none;
}
.no-shortcut {
  display: none;
}
.command-shortcut:before {
  content: "(command)";
  padding-right: 3px;
  color: #777777;
}
.edit-shortcut:before {
  content: "(edit)";
  padding-right: 3px;
  color: #777777;
}
#find-and-replace #replace-preview .match,
#find-and-replace #replace-preview .insert {
  background-color: #BBDEFB;
  border-color: #90CAF9;
  border-style: solid;
  border-width: 1px;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .match {
  background-color: #FFCDD2;
  border-color: #EF9A9A;
  border-radius: 0px;
}
#find-and-replace #replace-preview .replace .insert {
  background-color: #C8E6C9;
  border-color: #A5D6A7;
  border-radius: 0px;
}
#find-and-replace #replace-preview {
  max-height: 60vh;
  overflow: auto;
}
#find-and-replace #replace-preview pre {
  padding: 5px 10px;
}
.terminal-app {
  background: #EEE;
}
.terminal-app #header {
  background: #fff;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.2);
}
.terminal-app .terminal {
  width: 100%;
  float: left;
  font-family: monospace;
  color: white;
  background: black;
  padding: 0.4em;
  border-radius: 2px;
  -webkit-box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
  box-shadow: 0px 0px 12px 1px rgba(87, 87, 87, 0.4);
}
.terminal-app .terminal,
.terminal-app .terminal dummy-screen {
  line-height: 1em;
  font-size: 14px;
}
.terminal-app .terminal .xterm-rows {
  padding: 10px;
}
.terminal-app .terminal-cursor {
  color: black;
  background: white;
}
.terminal-app #terminado-container {
  margin-top: 20px;
}
/*# sourceMappingURL=style.min.css.map */
    </style>
<style type="text/css">
    .highlight .hll { background-color: #ffffcc }
.highlight  { background: #f8f8f8; }
.highlight .c { color: #408080; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #7D9029 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
    </style>
<style type="text/css">
    
/* Temporary definitions which will become obsolete with Notebook release 5.0 */
.ansi-black-fg { color: #3E424D; }
.ansi-black-bg { background-color: #3E424D; }
.ansi-black-intense-fg { color: #282C36; }
.ansi-black-intense-bg { background-color: #282C36; }
.ansi-red-fg { color: #E75C58; }
.ansi-red-bg { background-color: #E75C58; }
.ansi-red-intense-fg { color: #B22B31; }
.ansi-red-intense-bg { background-color: #B22B31; }
.ansi-green-fg { color: #00A250; }
.ansi-green-bg { background-color: #00A250; }
.ansi-green-intense-fg { color: #007427; }
.ansi-green-intense-bg { background-color: #007427; }
.ansi-yellow-fg { color: #DDB62B; }
.ansi-yellow-bg { background-color: #DDB62B; }
.ansi-yellow-intense-fg { color: #B27D12; }
.ansi-yellow-intense-bg { background-color: #B27D12; }
.ansi-blue-fg { color: #208FFB; }
.ansi-blue-bg { background-color: #208FFB; }
.ansi-blue-intense-fg { color: #0065CA; }
.ansi-blue-intense-bg { background-color: #0065CA; }
.ansi-magenta-fg { color: #D160C4; }
.ansi-magenta-bg { background-color: #D160C4; }
.ansi-magenta-intense-fg { color: #A03196; }
.ansi-magenta-intense-bg { background-color: #A03196; }
.ansi-cyan-fg { color: #60C6C8; }
.ansi-cyan-bg { background-color: #60C6C8; }
.ansi-cyan-intense-fg { color: #258F8F; }
.ansi-cyan-intense-bg { background-color: #258F8F; }
.ansi-white-fg { color: #C5C1B4; }
.ansi-white-bg { background-color: #C5C1B4; }
.ansi-white-intense-fg { color: #A1A6B2; }
.ansi-white-intense-bg { background-color: #A1A6B2; }

.ansi-bold { font-weight: bold; }

    </style>


<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
  overflow: visible;
  padding: 8px;
}

div#notebook {
  overflow: visible;
  border-top: none;
}@media print {
  div.cell {
    display: block;
    page-break-inside: avoid;
  } 
  div.output_wrapper { 
    display: block;
    page-break-inside: avoid; 
  }
  div.output { 
    display: block;
    page-break-inside: avoid; 
  }
}
</style>

<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link rel="stylesheet" href="custom.css">

<!-- Loading mathjax macro -->
<!-- Load mathjax -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML"></script>
    <!-- MathJax configuration -->
    <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
        tex2jax: {
            inlineMath: [ ['$','$'], ["\\(","\\)"] ],
            displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
            processEscapes: true,
            processEnvironments: true
        },
        // Center justify equations in code and markdown cells. Elsewhere
        // we use CSS to left justify single line equations in code cells.
        displayAlign: 'center',
        "HTML-CSS": {
            styles: {'.MathJax_Display': {"margin": 0}},
            linebreaks: { automatic: true }
        }
    });
    </script>
    <!-- End of mathjax configuration --></head>
<body>
  <div tabindex="-1" id="notebook" class="border-box-sizing">
    <div class="container" id="notebook-container">

<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="DQM-process-on-Sensordata-using-Pyspark.html">DQM Process on Sensor Data using PySpark<a class="anchor-link" href="#DQM-process-on-Sensordata-using-Pyspark.html">&#182;</a></h1>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[&nbsp;]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="sd">&#39;&#39;&#39;Part-1&#39;&#39;&#39;</span>
<span class="sd">&#39;&#39;&#39;In this dataset it contains details of sensor records such as radiation level, ambient temperature, humidity, dew point, etc.</span>
<span class="sd">Based on this dataset, I have applied data preprocessing:</span>
<span class="sd">       1)Fetched the sensor data from source files</span>
<span class="sd">       2)Displayed the Number of Nan values in dataset</span>
<span class="sd">       3)Showed the distribution correlated data based on different features and drawn the heatmap.</span>
<span class="sd">       4)Plotted state wise variation of ambient temperature and humidity range.</span>
<span class="sd">       5)Used in built function XGBoost classifier and got the top feature importance details.</span>
<span class="sd">       6)Displayed the mean values of ambient temperature, humidity and dew point&#39;&#39;&#39;</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[23]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">#### Importing the required libraries for the dataset #####################</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="kn">import</span> <span class="nn">seaborn</span> <span class="k">as</span> <span class="nn">sns</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">from</span> <span class="nn">sklearn.preprocessing</span> <span class="k">import</span> <span class="n">Imputer</span>
<span class="kn">from</span> <span class="nn">sklearn.preprocessing</span> <span class="k">import</span> <span class="n">LabelEncoder</span><span class="p">,</span><span class="n">OneHotEncoder</span>

<span class="kn">from</span> <span class="nn">pyspark.sql.window</span> <span class="k">import</span> <span class="n">Window</span>
<span class="kn">from</span> <span class="nn">pyspark.sql</span> <span class="k">import</span> <span class="n">SQLContext</span>

<span class="kn">from</span> <span class="nn">pyspark.sql</span> <span class="k">import</span> <span class="n">Row</span>
<span class="kn">import</span> <span class="nn">pyspark.sql.functions</span> <span class="k">as</span> <span class="nn">F</span>
<span class="kn">from</span> <span class="nn">pyspark.sql.window</span> <span class="k">import</span> <span class="n">Window</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[24]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">#Initializing PySpark</span>
<span class="kn">from</span> <span class="nn">pyspark</span> <span class="k">import</span> <span class="n">SparkContext</span><span class="p">,</span> <span class="n">SparkConf</span>

<span class="c1"># #Spark Config</span>
<span class="n">conf</span> <span class="o">=</span> <span class="n">SparkConf</span><span class="p">()</span><span class="o">.</span><span class="n">setAppName</span><span class="p">(</span><span class="s2">&quot;sample_app&quot;</span><span class="p">)</span>
<span class="n">sc</span> <span class="o">=</span> <span class="n">SparkContext</span><span class="p">(</span><span class="n">conf</span><span class="o">=</span><span class="n">conf</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[25]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">sc</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt output_prompt">Out[25]:</div>



<div class="output_html rendered_html output_subarea output_execute_result">

        <div>
            <p><b>SparkContext</b></p>

            <p><a href="http://169.254.145.102:4040">Spark UI</a></p>

            <dl>
              <dt>Version</dt>
                <dd><code>v2.2.0</code></dd>
              <dt>Master</dt>
                <dd><code>local[*]</code></dd>
              <dt>AppName</dt>
                <dd><code>sample_app</code></dd>
            </dl>
        </div>
        
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[26]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">######################## Reading a JSON file of sensor data using pandas DataFrame #############################</span>
<span class="c1">#/FileStore/tables/9p83uiou1504863670100/sensor_final_dataset.json</span>
<span class="n">df</span><span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s1">&#39;E:\Treselle\sensor_data.csv&#39;</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[27]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span> <span class="p">(</span><span class="s2">&quot;############## DESCRIBE DATASET ###################&quot;</span><span class="p">)</span>
<span class="nb">print</span> <span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">describe</span><span class="p">())</span>
<span class="nb">print</span> <span class="p">(</span><span class="s2">&quot;############## DATA TYPES ###################&quot;</span><span class="p">)</span>
<span class="nb">print</span> <span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">dtypes</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>############## DESCRIBE DATASET ###################
       ambient_temperature     humidity  photosensor  radiation_level 
count          5962.000000  5982.000000  5982.000000      5991.000000   
mean             21.169832    79.702565   801.903395       199.604407   
std               5.292841     3.835437    50.064696         1.965327   
min               1.473000    66.235300   609.380000       194.000000   
25%              17.850000    77.140600   767.500000       198.000000   
50%              21.000000    79.660350   800.080000       200.000000   
75%              24.457500    82.242900   836.500000       201.000000   
max              44.450000    92.416500  1020.200000       206.000000   

               lat          lng     dewpoint  
count  5987.000000  5990.000000  5955.000000  
mean     33.944177   -93.140172    17.108798  
std       4.648238     9.669680     5.343678  
min      27.833300  -105.327200    -2.734880  
25%      27.833300  -105.327200    13.840040  
50%      34.951300   -92.380900    17.025600  
75%      39.064600   -81.717000    20.422660  
max      39.064600   -81.717000    40.101140  
##############  DATA TYPES  ###################
ambient_temperature    float64
humidity               float64
photosensor            float64
radiation_level        float64
sensor_uuid             object
sensor_id               object
sensor_name             object
lat                    float64
lng                    float64
datetime                object
dewpoint               float64
dtype: object
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[28]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">#Compute Correlation</span>
<span class="nb">print</span><span class="p">(</span><span class="n">df</span><span class="o">.</span><span class="n">corr</span><span class="p">())</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>                     ambient_temperature  humidity  photosensor  \
ambient_temperature             1.000000 -0.008157    -0.013917   
humidity                       -0.008157  1.000000     0.025729   
photosensor                    -0.013917  0.025729     1.000000   
radiation_level                 0.024727  0.034386    -0.000665   
lat                             0.001874  0.001012     0.001383   
lng                            -0.000805  0.000316    -0.000872   
dewpoint                        0.989642  0.135483    -0.010301   

                     radiation_level       lat       lng  dewpoint  
ambient_temperature         0.024727  0.001874 -0.000805  0.989642  
humidity                    0.034386  0.001012  0.000316  0.135483  
photosensor                -0.000665  0.001383 -0.000872 -0.010301  
radiation_level             1.000000  0.000960 -0.002249  0.029724  
lat                         0.000960  1.000000 -0.978122  0.001880  
lng                        -0.002249 -0.978122  1.000000 -0.000726  
dewpoint                    0.029724  0.001880 -0.000726  1.000000  
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[29]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">seaborn</span> <span class="k">as</span> <span class="nn">sns</span>
<span class="c1">###### correlation matrix ########</span>
<span class="n">plt</span><span class="o">.</span><span class="n">clf</span><span class="p">()</span>

<span class="c1"># Set up the matplotlib figure</span>
<span class="n">f</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>

<span class="c1"># Compute the correlation matrix</span>
<span class="n">corr</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">corr</span><span class="p">()</span>

<span class="c1"># Draw the heatmap with the mask and correct aspect ratio</span>
<span class="n">sns</span><span class="o">.</span><span class="n">heatmap</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">mask</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="n">corr</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">bool</span><span class="p">),</span> <span class="n">cmap</span><span class="o">=</span><span class="n">sns</span><span class="o">.</span><span class="n">diverging_palette</span><span class="p">(</span><span class="mi">250</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="n">sep</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span><span class="n">as_cmap</span><span class="o">=</span><span class="kc">True</span><span class="p">),</span><span class="n">square</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">ax</span><span class="o">=</span><span class="n">ax</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Sensor Data Correlations Heat Map&#39;</span><span class="p">,</span> <span class="n">fontsize</span><span class="o">=</span><span class="mi">15</span><span class="p">,</span> <span class="n">fontweight</span><span class="o">=</span><span class="s1">&#39;bold&#39;</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">gcf</span><span class="p">()</span><span class="o">.</span><span class="n">subplots_adjust</span><span class="p">(</span><span class="n">bottom</span><span class="o">=</span><span class="mf">0.15</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>

<span class="s2">&quot;Notes: This plot shows the highly correlated data. In this heatmap, it shows that </span>
<span class="s2">&quot;ambient temperature and dew point are highly correlated&quot;</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>




<div class="output_text output_subarea ">
<pre>&lt;matplotlib.figure.Figure at 0xafe3828&gt;</pre>
</div>

</div>

<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
AAALEgAACxIB0t1+/AAAIABJREFUeJzs3X18zvX////7sTNnOyNnTYmNLWfDkCSqOWkoMW9mRE46
UUhFTFIsJxFvnYhSTtcwvFfvUhT6xNtprKaIrZyflK1mbMNOj98fvjt+lnPZjuN4ul0vl+Py3nG8
Xsfr+Xi9psse7/vzdWKxWq1WAQAAwOm42LsAAAAA3BgaOQAAACdFIwcAAOCkaOQAAACcFI0cAACA
k6KRAwAAcFI0csAV5OTkaObMmQoLC1ODBg3UokUL9e7dW+vWrbN3af9YaGiogoKCbK969erp/vvv
1+jRo5Wamnrd29u9e7fWrl37j+s6fvy4Xn31VT3wwAOqX7++rabjx4//423/U4XH6o8//rjm76Sm
pmrx4sW29/Hx8QoKClK/fv2KocLrc6Va2rVrp6CgIG3btu2mjrllyxZ9//33l13ep08f23F+5ZVX
iix7/PHHbcuioqJual2As6KRA67g9ddf13vvvafU1FQ1a9ZM1apV044dO/Tcc89p+fLl9i7vpmja
tKlCQ0N1zz33KDs7W/Hx8YqIiNCpU6eueRsLFizQv/71L+3Zs+cf1ZKUlKSuXbtq+fLlslqtatas
mXJzcxUfH69//etfDtHMXY+EhAQ9/PDDWrVqle2z22+/XW3atFFISIgdK7OPyZMnq1+/fjp69Og1
rb9161bbz+fOnVNiYmJxlQY4LRo54DIyMzP12WefSZK++uorzZs3TytWrNALL7wgSYqJibFneTfN
iy++qNmzZ2v+/Plau3atAgMDdezYMX3wwQfXvI1ff/1VBQUF/7iWkSNHKj09XeHh4Vq3bp3mz5+v
NWvWKCgoSH/99Zfee++9fzxGSTp69KiysrKKfNaiRQvNmjVLzz//vJ2qsp+kpKRrXrdcuXI6duyY
Dh8+LEn64YcflJubq3LlyhVXeYBTopEDLsPV1VUuLuf/E4mJibFNN/bt21exsbGaMGGCbd2TJ0/q
5ZdfVtOmTdW4cWM9/fTTOnDggG15VFSUgoKCtHz5ckVFRalx48Zq0aKFZs6cWWQbo0ePVqtWrdSg
QQM99NBDmjJlinJzc23r5ObmaubMmWrXrp3q16+vNm3a6P3331deXp5tnaCgIDVu3FgfffSRmjdv
rkcffVT5+fnXtM8+Pj566qmnJEmrV6+2fb5161b17NlTISEhatiwoTp37mxb/t5772nFihWSpJkz
Zyo0NFSSdOrUKY0cOVItW7ZU/fr11apVK73xxhvKycm55Ng//fST9u7dKw8PD40ZM0bu7u6SJG9v
b73xxhuaPn26rYmWpD///FOjR49Wy5Yt1aBBA3Xt2rVI8rVt2zYFBQVp4MCBeumllxQSEqJXX33V
Np348ssva8CAAWrcuLHt97B69Wp16tTJdmznzZt3xeN19OhRDR48WM2bN1f9+vUVGhqq9957T1ar
Vdu2bdPIkSMlSd9//72CgoJ09OjRS05nZmZmatKkSbbp5A4dOig2NrbIOEFBQXrkkUe0bt06dejQ
QQ0aNFDPnj21b98+23pff/21wsPD1bhxYzVt2lS9e/dWQkLCFffhesTGxqpt27aqX7++OnbsaPs/
OoVWrVqlxx57TA0bNlTjxo3Vo0cP2zRqVFSUtmzZIkkaPXq0+vTpc8WxChPLwu8UpnNNmjS5aN0r
jSv9/6cRrF+/Xt27d1eDBg3UpUsX7dix4waPBOA4aOSAyyhTpoweeeQRSdJHH32kVq1aqXPnzpo9
e7YqVKig4OBg27rDhg3T559/rkqVKqlevXrasGGD+vTpc9H05NSpU/Xjjz+qevXqSktL03vvvaft
27dLkqKjoxUfH6+yZcvq3nvv1dmzZzVv3jy98847tu8PHz5c7733ntLT09WkSROdPn1a7777rq1h
KHT27FnNnDlTdevWVePGjeXq6nrN+x0UFCTp/LlqmZmZOnHihJ555hnt3LlT9evXV1BQkJKSkjR8
+HCdPHlS/v7+qlatmiSpZs2aatmypaTzf6z/+9//ysvLS/fee68yMzP1ySefaMmSJZcc9+eff5Yk
BQQEyNPTs8iyhg0b6pFHHlGVKlUknW98IiMjFR8fr1KlSqlRo0ZKTk7WCy+8oKVLlxb57qZNm/T9
99+rTp06atSoke3zL774QocOHVJAQICaNGmibdu2adiwYTpy5Ijuuece5eTkaMqUKZozZ85lj9Xg
wYO1du1a3X777WrWrJlSUlI0c+ZMrVu3TuXLl1e9evUkSb6+vmrTpo3KlClz0Tby8vL05JNPauHC
hcrLy1OTJk10/PhxRUdHa/r06UXWPXbsmIYPH65KlSrJzc1NP/74o8aPHy/pfCr64osv6tdff1Wj
Ro1Uq1Yt7dixQ08++aTS0tIuuw/S+aTsueeeK/L6888/i6zz6aefKjo6Wunp6WrevLn++usvjRo1
Sl9++aUkadeuXXrppZe0f/9+NW3aVHfeead27typoUOHKj8/X3Xr1lWFChUkSXXr1r3q1PI999wj
Sdq8ebMk2c7Va9asWZH1rjbuhV544QXl5+frzjvv1J49e/TUU0/d0PmggCNxs3cBgCMbP368vL29
9Z///EdZWVlKSkpSUlKS5s+fr3Hjxql79+7avn27tm3bpuDgYC1btkwWi0UzZszQBx98oE8//bRI
8lKjRg0tWbJErq6u6tatm3bv3q2ffvpJzZo106FDhySdb9batm2rQ4cOacOGDWrQoIGk84nV119/
LU9PT/33v/+Vn5+fjh8/rkceeURffvml+vbta2tUrFarRo4cqd69e1/3Pl/YbBROC7700kvy8fFR
ly5dJEmPPvqokpOTdfjwYXXq1EmbN2/WihUr1KlTJw0dOlSSFBYWptq1a2vw4MHy8PDQ3LlzNXXq
VO3fv/+S454+fVqSrmnqbMmSJTp8+LAaNmyoTz75RB4eHlq7dq0GDx6sadOmqWvXrrZ1rVar5s+f
r9q1a0s6f4K/JLm7u2vFihUqX768pPNJqyS9++67evDBB3X69Gk98MADmjt3rgYOHHhRM5yTk6PH
H39cqampevbZZ2WxWBQdHa3Y2Fjt379fbdu21RNPPKGRI0cqMDBQs2bNuuS+fPPNN/rxxx9VrVo1
ffbZZ/L29tbPP/+siIgIzZ07t8jv8MyZM5o9e7ZCQ0Nt+1vYAB85ckT5+flq0qSJpk+frgoVKmj5
8uUqU6aMLBbLFY9nWlraVS/gKUwtlyxZotq1a+vQoUNq37695syZo06dOqls2bIaMWKE/P399dBD
Dyk3N1ctW7ZUenq6Tp48qb59++rbb7/Vli1b1KdPH4WHh19xvPr166ts2bLatm2bMjMztWvXLvn7
+6tixYpF1rvauBeu37FjR02cOFH5+fnq37+/tm3bpsWLF2vYsGFXrAVwZDRywBWULl1aY8aM0YgR
I5SQkKAtW7boq6++0tGjRzVx4kSFhYXZzvv56aefdPfddxf5/s6dO4u8b968udzczv9n5+/vr927
d9umGvv166dRo0Zp6NCh8vHxUdOmTfXQQw+pfv36kmSbIrvvvvvk5+cnSfLz81PLli31zTffKCEh
oUjidKkpqGtx9uxZ289lypSRt7e32rdvr1WrVmnIkCFKTEy0pRjZ2dmX3U5YWJjWrl2rCRMm2KZN
JV12arWwgcvIyLhqjYXH4tFHH5WHh4ckqW3btvL19VV6erqSk5Nt6/r4+NiauAvVqlXL1sRJ///5
W88880yR9c6cOaODBw8qICCgyOceHh7q0KGDvv76a73yyitKTEy0NamX28dL+eGHHyRJ7du3l7e3
tySpQYMGuvvuu7V7924lJiba/g1IsiWehftUOFbz5s1Vr149ff/992rZsqVq166t++67T126dCmy
n5fSokULLViwoMhn7dq1s52flpWVZbtAoTClLpSUlKSzZ8/K399fVqtV33zzjZYuXarExERbIn2l
fyeX4+rqqpCQEG3cuFExMTHKy8u7KI2TdF3jPvzww7Ztt23bVtu2bSsyNQ04Ixo54DK2b9+umJgY
Va1aVa+88oruu+8+3XfffRo0aJDuv/9+nTlzRgcOHLCdn3b77berbt26Rbbh7+9f5P2FaVdhQ2e1
WiVJnTt3VqNGjbR69Wpt27ZN27Zt07p167RixQrFxcVdNVX5+3IvL68b2u/CP2yVK1e2pUOPP/64
ypUrp8cff1x9+vTR9OnTtXPnTlvtf5efn68+ffooMTFR4eHhevrpp3X48GHNmDHjst8pPHb79+9X
ZmZmkenVJUuW6LPPPlO3bt3Uo0eP6zoWf5+mvdznhb/Hli1bqnTp0lfcvnR+erdr1646fvy4IiMj
NWLECG3evFmffPLJZffxRly4Ly4uLipVqpQk2RLCwrHKlSunuLg4fffdd/rf//6nhIQEzZ8/XwsW
LNCHH36oBx544IZruPAczDZt2ly0PDs7W5s3b9bQoUPl5+enXr16adCgQRo2bJhOnDhxw8ejWbNm
2rhxo+1cxcIp7wutW7fumse98HzTwmXXc9oB4Ig4Rw64DC8vL3399ddavHhxkWTt999/V25uriwW
iypXrmxLRjw9PfXOO+9o1qxZatOmjQIDAy/643m5BiQnJ0cTJ07UhAkT1K1bN82dO1ffffedXFxc
lJiYqPT0dFsqs3nzZtttOI4fP65NmzZJOn8bkQvdyB+ozMxM29W4hcnLp59+qnPnzqljx4567rnn
FBQUpGPHjhX5XuFFIYVXrv7yyy9KTEyUr6+vJkyYoI4dO171lhMhISEKCAhQbm6uJk6caGse/vzz
T3300UdKTEy03b+tcLr5iy++sP1hX7t2rdLT0+Xt7a3AwMCrHoe/f174e+zatatmzZqlyZMnq1Kl
SmrRooXuuuuui76/ceNGHT58WAEBAXr11VcVGhqqgwcPXvG4XErhvnzzzTe26eWff/5Ze/fulZub
W5GU9UoN7HfffafRo0fr8OHDio6O1pdffqn+/fvLarXqf//732W/dy18fHxUuXJlSdKTTz6pWbNm
aeTIkbZbqfj6+mrZsmXKz8/X448/rgEDBqhixYo6efJkke1cy/G4UOF5coXHpfD9ha5l3EJfffWV
bfz169dL0kVJK+BsSOSAy7j77rv1yCOPaOXKlerVq5caNWpka6xyc3MVHh6uqlWrqkqVKqpbt65+
+eUXPfzww6pataoSExPl4uKi9u3bX9NYHh4eOn78uNavX6/OnTurbt26OnTokAoKClS3bl35+vqq
adOmat26tTZs2KDHHntM9erV0+7du5WVlaXOnTsXufjiesyYMUM+Pj7KycnRrl27dPLkSd1xxx22
KcY777xT0vlUbN++fUpOTradCH/mzBlJsp3EHhcXp127dmnSpElyd3dXenq6unTpInd3d+3evbvI
d/7OxcVFb731lvr166f4+Hht2bJFNWrU0K5du5SRkaHAwED1799fktSzZ0/FxcVp586dCgsLU7Vq
1WxTlCNHjrRNt16PJ598UoMHD1ZUVJSWL1+uAwcOKCUlRQ8//PAlr7AsPC5JSUnq0aOHMjIybFOr
fz8uO3fuVN++fW0XJlwoLCxM8+fP1549e9ShQwfVqlVLiYmJys/P17PPPqsqVapc033XKlSooNWr
V2vlypVas2aNSpcubbsqs0WLFtd9PP5u4MCBmjx5svr376/GjRtrz549Sk9P14ABA4ocj7ffflsb
NmzQTz/9ZGuyC49H4RTvrFmztGPHDr355ptXHLNBgwYqU6aMzp49qxo1atiayQtdy7iFVq1apd9+
+00FBQVKTk6Wp6enevXqdaOHBHAIJHLAFUyePFlRUVGqVauW9u7dq59++kk1atTQ8OHDFR0dLel8
SvLhhx/q0UcfVVZWlnbv3q169eppzpw5F021Xsm0adM0YMAAlSpVSlu3btXZs2fVpUuXIvdzmzlz
pgYPHixfX1/t2LFD3t7eGjZs2FX/IF7Jjh07tG7dOm3ZskWlSpVSRESEli5dKl9fX0lS79691b17
d3l6emrXrl2qW7euIiIiJMl2xe2//vUvBQcHKyMjQ4cPH9Ztt92mqVOn6q677tLhw4eVm5ur0aNH
y2Kx6Icffrjs7VDq1aun+Ph4denSRXl5eUpISFCFChU0YMAALVq0yDZdXKFCBS1btkzh4eE6d+6c
fvzxRwUGBuqdd95R9+7db+g4tG3bVlOmTJG/v79++OEHWa1WPf7445o6deplax0zZoyqVq2q5ORk
lS1b1nZ7lMLj0qxZMz388MNyd3fX/v37i5x/WKhUqVJatGiR+vTpIzc3NyUkJMjPz0/jxo0rcruV
qwkODtZHH32kZs2aad++fdq5c6dq166tqVOnXnI69Hr169dPUVFRqlKlinbs2KGyZctq8ODBGjFi
hCRp6NChevjhh+Xq6qo9e/aodevWtnPSCo9H//79VatWLaWmpur333+/6pju7u62RPJS58dd67iF
xo0bp9KlS+vAgQOqV6+ePv74Y1uzDTgri/VmnswBAICDCQ0N1bFjxxQbG3vRKQiAsyORAwAAcFI0
cgAAAE6KqVUAAAAnRSIHAADgpGjkAAAAnBT3kXNSG3u0tHcJJa7h3NX2LgEA/rGdT3Wwdwl2cf/S
jXYbu7j+Zt6/bFOxbPd6kMgBAAA4KRI5AABgNpcrP5/ZmZHIAQAAOCkSOQAAYDSLxdxEjkYOAACY
zWLuBKS5ewYAAGA4EjkAAGA2g6dWSeQAAACcFIkcAAAwmsXgc+Ro5AAAgNlczG3kzN0zAAAAw5HI
AQAAo5l8HzkSOQAAACdFIgcAAMxm8LNWaeQAAIDRTL5q1dw9AwAAMByJHAAAMBsXOwAAAMDRkMgB
AACjWQy+ITCNHAAAMBsXOwAAAMDRkMgBAACj8WQHAAAAOBwSOQAAYDaDz5GjkQMAAEazGPyILnNb
VAAAAMMVSyMXHx+vadOmXfT5iy++qJycnOvaVnp6ur744osrrrNmzRqdOHHiurZb3D755BN7lwAA
AKTzU6vF8XIAJVrFjBkz5OHhcV3fSUpK0rfffnvFdRYtWqTMzMx/UtpNN3v2bHuXAAAADHfVc+Qy
MzM1ZswYZWRkKCUlRb169dKqVasUFBSkX3/9VWXLllXTpk21ceNGnT59WvPmzZMkJSYm6oknnlBm
ZqaGDh2qBx98UKGhoVq1apXS0tI0duxYZWdnq1SpUnrjjTeUn5+v4cOHq2rVqjpy5IgaNGig8ePH
64MPPtDevXsVFxeniIiIi+r77rvvtGfPHo0aNUqLFy9WXFycVq5cKYvFoo4dO6pv376KioqSm5ub
jh8/rpycHHXs2FH/93//p99//12zZs3S77//rg8++EAuLi5KTU1VRESEevfuraSkJE2YMEGS5Ovr
q0mTJumXX37RtGnT5O7urh49eqh06dKKjY1VXl6eLBaLZs6cqbi4OJ06dUrjxo1TcHCw9u/frxEj
Rig7O1sdOnTQt99+qz59+qhChQo6deqU5syZo3HjxunQoUMqKCjQCy+8oObNm9/kXzUAALemW/oc
uUOHDqlTp06aN2+e5s6dqwULFkiSgoODtXDhQuXk5Kh06dKaP3++atWqpe3bt0uSypQpowULFmjO
nDmKjo5WQUGBbZtTpkxRnz59FBMTo4EDB9qmYQ8ePKiJEydq+fLl2rBhg1JTUzVo0CDde++9l2zi
JOnBBx9UnTp1NGXKFB0+fFhfffWVFi9erNjYWK1du1b79++XJFWrVk3z5s2Tv7+/jh49qo8++kjt
27e3pX0nTpzQ7NmztWzZMi1YsEB//fWXxo4dq9dff10xMTFq3bq1Pv74Y0lSdna2Fi9erC5duujg
wYOaM2eOlixZolq1amnjxo169tln5ePjo3Hjxl3x2D7yyCNasGCBVqxYofLlyys2NlazZs1SdHT0
1X4tAADgWhk8tXrVRK5ixYpauHChvvnmG3l6eiovL0+SVK9ePUmSt7e3atWqZfs5OztbktSkSRNZ
LBbddttt8vLyUnp6um2bycnJ+vDDD/Xxxx/LarXKze18GdWrV5enp6ckqVKlSrZtXavk5GQdP35c
/fr1kySdOnVKhw4dkiTVrVvXVqO/v7/t58Jz9ho3bmyb9q1du7YOHz6sffv2afz48ZKk3Nxc1ahR
Q5JUs2ZN25i33XabRo0apXLlymn//v1q1KjRZeuzWq1F3hduJzk5WQkJCfrpp58kSXl5eUpLS1OF
ChWua/8BAMCt5aqN3Lx589SoUSP16tVLW7du1fr1669pwz///LMkKTU1VWfOnFH58uVty/z9/TVg
wACFhIRo3759thTvUndednFxKZLmXYrFYpHVapW/v79q1aqljz/+WBaLRQsWLFBQUJC+/vrrq97V
ec+ePcrPz1dOTo5+++033XXXXapZs6amTJkiPz8/JSQkKDU11VaTJGVkZOjdd9/Vd999J0nq37+/
rVkr/N9SpUrZvrd79+6L6i48HlWrVtWgQYN07tw5zZ49W76+vlesFwAAXCODn+xw1UbuoYce0oQJ
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
YII=
"
>
</div>

</div>

<div class="output_area">

<div class="prompt output_prompt">Out[29]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>&#39;ambient temperature and dew point are highly correlated&#39;</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[30]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">###################### Number of nan values in the dataset are summed using isnull() function ############################</span>
<span class="n">df</span><span class="o">.</span><span class="n">isnull</span><span class="p">()</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt output_prompt">Out[30]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>ambient_temperature    53
humidity               33
photosensor            33
radiation_level        24
sensor_uuid            24
sensor_id              24
sensor_name            24
lat                    28
lng                    25
datetime               24
dewpoint               60
dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[31]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">pyspark.sql</span> <span class="k">import</span> <span class="n">SQLContext</span>
<span class="n">sqlContext</span> <span class="o">=</span> <span class="n">SQLContext</span><span class="p">(</span><span class="n">sc</span><span class="p">)</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[32]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">values</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">isnull</span><span class="p">()</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span>
<span class="n">nullvalues</span>  <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">DataFrame</span><span class="p">({</span><span class="s1">&#39;attribute_name&#39;</span><span class="p">:</span><span class="n">values</span><span class="o">.</span><span class="n">index</span><span class="p">,</span> <span class="s1">&#39;nullcount&#39;</span><span class="p">:</span><span class="n">values</span><span class="o">.</span><span class="n">values</span><span class="p">})</span>

<span class="n">line_dataframe</span> <span class="o">=</span> <span class="n">sqlContext</span><span class="o">.</span><span class="n">createDataFrame</span><span class="p">(</span><span class="n">nullvalues</span><span class="p">[[</span><span class="s2">&quot;attribute_name&quot;</span><span class="p">,</span><span class="s2">&quot;nullcount&quot;</span><span class="p">]])</span>
<span class="n">line_dataframe</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>+-------------------+---------+
|     attribute_name|nullcount|
+-------------------+---------+
|ambient_temperature|       53|
|           humidity|       33|
|        photosensor|       33|
|    radiation_level|       24|
|        sensor_uuid|       24|
|          sensor_id|       24|
|        sensor_name|       24|
|                lat|       28|
|                lng|       25|
|           datetime|       24|
|           dewpoint|       60|
+-------------------+---------+

</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[33]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">#subset is those columns to inspect for NaNs.</span>
<span class="n">df_v1</span> <span class="o">=</span> <span class="n">df</span><span class="o">.</span><span class="n">dropna</span><span class="p">(</span><span class="n">subset</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;sensor_id&#39;</span><span class="p">,</span> <span class="s1">&#39;sensor_name&#39;</span><span class="p">,</span><span class="s1">&#39;sensor_uuid&#39;</span><span class="p">],</span> <span class="n">how</span><span class="o">=</span><span class="s1">&#39;all&#39;</span><span class="p">)</span>
<span class="n">df_v1</span><span class="o">.</span><span class="n">isnull</span><span class="p">()</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt output_prompt">Out[33]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>ambient_temperature    29
humidity                9
photosensor             9
radiation_level         0
sensor_uuid             0
sensor_id               0
sensor_name             0
lat                     4
lng                     1
datetime                0
dewpoint               36
dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[35]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">#Taking care of missing Data</span>
<span class="c1">###################### Finding the most frequent values and filling in the data for humidity, lat, lng and photosensor #####################</span>

<span class="c1">#### imputation strategy. = If “most_frequent”, it replaces missing value using the most frequent value along the axis.</span>
<span class="n">imputer</span><span class="o">=</span><span class="n">Imputer</span><span class="p">(</span><span class="n">missing_values</span><span class="o">=</span><span class="s1">&#39;NaN&#39;</span><span class="p">,</span><span class="n">strategy</span><span class="o">=</span><span class="s1">&#39;most_frequent&#39;</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
<span class="n">imputer</span><span class="o">=</span><span class="n">imputer</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,[</span><span class="mi">10</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">]])</span>

<span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,[</span><span class="mi">10</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">]])</span><span class="o">=</span><span class="n">imputer</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,[</span><span class="mi">10</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">2</span><span class="p">]])</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stderr output_text">
<pre>C:\Users\Treselle\Anaconda3\envs\tensorflow\lib\site-packages\pandas\core\indexing.py:477: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  self.obj[item] = s
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[36]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Split into sets with known and unknown ambient_temperature values</span>
<span class="kn">from</span> <span class="nn">sklearn.linear_model</span> <span class="k">import</span> <span class="n">LinearRegression</span><span class="p">,</span><span class="n">LogisticRegression</span>

<span class="n">df_v2</span> <span class="o">=</span> <span class="n">df_v1</span><span class="p">[[</span><span class="s2">&quot;ambient_temperature&quot;</span><span class="p">,</span><span class="s2">&quot;humidity&quot;</span><span class="p">,</span><span class="s2">&quot;photosensor&quot;</span><span class="p">,</span><span class="s2">&quot;radiation_level&quot;</span><span class="p">]]</span>
<span class="n">knownTemperature</span> <span class="o">=</span> <span class="n">df_v2</span><span class="o">.</span><span class="n">loc</span><span class="p">[(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ambient_temperature</span><span class="o">.</span><span class="n">notnull</span><span class="p">())]</span>
<span class="n">unknownTemperature</span> <span class="o">=</span> <span class="n">df_v2</span><span class="o">.</span><span class="n">loc</span><span class="p">[(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ambient_temperature</span><span class="o">.</span><span class="n">isnull</span><span class="p">())]</span>

<span class="c1"># All ambient_temperature values are stored in a target array</span>
<span class="n">Y</span> <span class="o">=</span> <span class="n">knownTemperature</span><span class="o">.</span><span class="n">values</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">]</span>

<span class="c1"># All the other values are stored in the feature array</span>
<span class="n">X</span> <span class="o">=</span> <span class="n">knownTemperature</span><span class="o">.</span><span class="n">values</span><span class="p">[:,</span><span class="mi">1</span><span class="p">::]</span>

<span class="c1"># Create and fit a model</span>
<span class="n">linear_regression</span> <span class="o">=</span> <span class="n">LinearRegression</span><span class="p">()</span>
<span class="n">linear_regression</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">)</span>

<span class="c1"># Use the fitted model to predict the missing values</span>
<span class="n">predictedTemperature</span> <span class="o">=</span> <span class="n">linear_regression</span><span class="o">.</span><span class="n">predict</span><span class="p">(</span><span class="n">unknownTemperature</span><span class="o">.</span><span class="n">values</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">::])</span>

<span class="c1"># Assign those predictions to the full data set</span>
<span class="n">df_v1</span><span class="o">.</span><span class="n">loc</span><span class="p">[</span> <span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ambient_temperature</span><span class="o">.</span><span class="n">isnull</span><span class="p">()),</span> <span class="s1">&#39;ambient_temperature&#39;</span> <span class="p">]</span> <span class="o">=</span> <span class="n">predictedTemperature</span> 
<span class="n">df_v1</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[37]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">########################### Checking any nan values available in the DataFrame #############################</span>
<span class="n">df_v1</span><span class="o">.</span><span class="n">isnull</span><span class="p">()</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt output_prompt">Out[37]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>ambient_temperature    0
humidity               0
photosensor            0
radiation_level        0
sensor_uuid            0
sensor_id              0
sensor_name            0
lat                    0
lng                    0
datetime               0
dewpoint               0
dtype: int64</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[38]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1">################# Encoding a categorical data using LabelEncoder #######################</span>

<span class="c1">#### Converting a non_numeric value of sensor_name into numeric data ######</span>
<span class="n">labelencoder_X</span><span class="o">=</span><span class="n">LabelEncoder</span><span class="p">()</span>
<span class="n">labelencoder_X</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,</span><span class="mi">6</span><span class="p">])</span>
<span class="nb">list</span><span class="p">(</span><span class="n">labelencoder_X</span><span class="o">.</span><span class="n">classes_</span><span class="p">)</span>
<span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">labelencoder_X</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,</span><span class="mi">6</span><span class="p">])</span> 

<span class="c1">#### Converting a non_numeric sensor name into numeric data ######</span>
<span class="n">labelencoder_y</span><span class="o">=</span><span class="n">LabelEncoder</span><span class="p">()</span>
<span class="n">labelencoder_y</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,</span><span class="mi">4</span><span class="p">])</span>
<span class="nb">list</span><span class="p">(</span><span class="n">labelencoder_y</span><span class="o">.</span><span class="n">classes_</span><span class="p">)</span>
<span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,</span><span class="mi">4</span><span class="p">]</span>  <span class="o">=</span> <span class="n">labelencoder_y</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,</span><span class="mi">4</span><span class="p">])</span> 

<span class="c1">#### Converting a non_numeric value of sensor ID into numeric data ######</span>
<span class="n">labelencoder_z</span><span class="o">=</span><span class="n">LabelEncoder</span><span class="p">()</span>
<span class="n">labelencoder_z</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,</span><span class="mi">5</span><span class="p">])</span>
<span class="nb">list</span><span class="p">(</span><span class="n">labelencoder_z</span><span class="o">.</span><span class="n">classes_</span><span class="p">)</span>
<span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,</span><span class="mi">5</span><span class="p">]</span>  <span class="o">=</span> <span class="n">labelencoder_z</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,</span><span class="mi">5</span><span class="p">])</span> 
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stderr output_text">
<pre>C:\Users\Treselle\Anaconda3\envs\tensorflow\lib\site-packages\pandas\core\indexing.py:477: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  self.obj[item] = s
</pre>
</div>
</div>

</div>
</div>

</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[66]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># plot feature importance using built-in function</span>
<span class="kn">from</span> <span class="nn">numpy</span> <span class="k">import</span> <span class="n">loadtxt</span>
<span class="kn">from</span> <span class="nn">xgboost</span> <span class="k">import</span> <span class="n">XGBClassifier</span>
<span class="kn">from</span> <span class="nn">xgboost</span> <span class="k">import</span> <span class="n">plot_importance</span>
<span class="kn">from</span> <span class="nn">matplotlib</span> <span class="k">import</span> <span class="n">pyplot</span>

<span class="c1"># split data into X and y</span>
<span class="n">X</span> <span class="o">=</span> <span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,[</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">10</span><span class="p">]]</span>
<span class="n">Y</span> <span class="o">=</span> <span class="n">df_v1</span><span class="o">.</span><span class="n">ix</span><span class="p">[:,[</span><span class="mi">10</span><span class="p">]]</span>

<span class="n">plt</span><span class="o">.</span><span class="n">clf</span><span class="p">()</span>
<span class="c1"># fit model no training data</span>
<span class="n">model</span> <span class="o">=</span> <span class="n">XGBClassifier</span><span class="p">()</span>
<span class="n">model</span><span class="o">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">Y</span><span class="p">)</span>

<span class="c1"># plot feature importance</span>
<span class="n">plot_importance</span><span class="p">(</span><span class="n">model</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">gcf</span><span class="p">()</span><span class="o">.</span><span class="n">subplots_adjust</span><span class="p">(</span><span class="n">bottom</span><span class="o">=</span><span class="mf">0.15</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stderr output_text">
<pre>C:\Users\Treselle\Anaconda3\envs\tensorflow\lib\site-packages\sklearn\preprocessing\label.py:112: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().
  y = column_or_1d(y, warn=True)
C:\Users\Treselle\Anaconda3\envs\tensorflow\lib\site-packages\sklearn\preprocessing\label.py:147: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().
  y = column_or_1d(y, warn=True)
</pre>
</div>
</div>

<div class="output_area">

<div class="prompt"></div>




<div class="output_text output_subarea ">
<pre>&lt;matplotlib.figure.Figure at 0xb502d30&gt;</pre>
</div>

</div>

<div class="output_area">

<div class="prompt"></div>




<div class="output_png output_subarea ">
<img src="
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
VWWlnmT1IHvyyitdeeWVrnfd37//fzK9r1v3aZYu/eCe56xXr771d9D8adasef+8SJGHgMnI5o/1
P/74IydOnKBLly78+uuveHt753Ztj7xGjRqxZ8+ePL+uvln9H33zzko9yUo9yUz9yEo9ySqvbzll
62PbK1euZN68eURERHDjxg0mTZrEsmXLcqxAERERkX8jW4Fm48aNLFu2jAIFClCkSBE2bNjARx99
lNu1PfIexOqMiIjIoyhbgcbOzi7Tx4GdnJzIly9frhUlIiIicj+y9VDwM888w8yZM7l58yY7duxg
3bp1PPvss7ldm4iIiEi2ZGuFZty4cZQtW5aqVauyadMmmjVrRkBAQG7XJiIiIpIt2VqhGTBgAMuX
L6dHjx65XY+IiIjIfcvWCk1qairR0dG5XYuIiIjIP5KtFZqEhARatmxJsWLFcHJywjAMTCZTlr8x
JCIiIvIgZCvQ6HfOiIiIyMMsW4Fm//79d9xeqlSpHC1GRERE5J/IVqDZt2+f9fWtW7c4cOAA9evX
p1OnTrlWmIiIiEh2ZSvQTJ8+PdP7a9euMXLkyFwpSEREROR+ZetTTn9XsGBBLl68mNO1iIiIiPwj
2Vqh8fPzw2QyAWAYBhcuXKBp06a5WpiIiIhIdmUr0AwdOtT62mQyUaRIESpVqpRrRYmIiIjcj2zd
ctq+fTvPPPMMzzzzDN7e3lSqVEl/+kBEREQeGvdcoQkMDOT8+fMcOnSIEydOWLenp6dz/fr1XC9O
REREJDvuGWgGDx7MxYsXCQkJYciQIdbt+fLlo2LFirlenIiIiEh23DPQlC5dmtKlS/PJJ59w7do1
bt68iWEYZGRkcOTIERo2bJhXdYqIiIjcVbYeCp4zZw7//e9/SU9Px83NjdjYWGrVqsX69etzuz4R
ERGR/ylbDwVv2bKFb775hvbt27Nq1SpWrFhB0aJFc7s2ERERkWzJVqApXrw4zs7OVK5cmaNHj/Ls
s88SHx+f27WJiIiIZEu2bjk5OzuzadMmatasyerVqylevDhJSUm5XZuIiIhItmRrhSYkJISEhAQa
NGhAqVKlmDRpEiNGjMjt2kRERESyJVsrNJ6envTo0YOjR48ybtw4UlNTKViwYG7XJiIiIpIt2Vqh
+e677+jYsSOvv/468fHxtGrVit27d+d2bSIiIiLZkq1AM2fOHCIjI3F1daV48eKsWrWKt99+O7dr
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
"
>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="Finding-mean-values-of-required-Features">Finding Mean Values of Required Features<a class="anchor-link" href="#Finding-mean-values-of-required-Features">&#182;</a></h1>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In&nbsp;[39]:</div>
<div class="inner_cell">
    <div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">print</span> <span class="p">(</span><span class="s2">&quot;humidity_mean:&quot;</span><span class="p">,</span><span class="n">df_v1</span><span class="p">[</span><span class="s1">&#39;humidity&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">mean</span><span class="p">())</span>
<span class="nb">print</span> <span class="p">(</span><span class="s2">&quot;ambient_temperature:&quot;</span> <span class="p">,</span><span class="n">df_v1</span><span class="p">[</span><span class="s1">&#39;ambient_temperature&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">mean</span><span class="p">())</span>
<span class="nb">print</span> <span class="p">(</span><span class="s2">&quot;photosensor:&quot;</span> <span class="p">,</span><span class="n">df_v1</span><span class="p">[</span><span class="s1">&#39;photosensor&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">mean</span><span class="p">())</span>
<span class="nb">print</span> <span class="p">(</span><span class="s2">&quot;radiation_level:&quot;</span> <span class="p">,</span><span class="n">df_v1</span><span class="p">[</span><span class="s1">&#39;radiation_level&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">mean</span><span class="p">())</span>
<span class="nb">print</span> <span class="p">(</span><span class="s2">&quot;dewpoint:&quot;</span> <span class="p">,</span><span class="n">df_v1</span><span class="p">[</span><span class="s1">&#39;dewpoint&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">mean</span><span class="p">())</span>

<span class="s2">&quot;Displaying the mean values of humidity,ambient temperature , photosensor,radiation level and dew point &quot;</span>
</pre></div>

</div>
</div>
</div>

<div class="output_wrapper">
<div class="output">


<div class="output_area">

<div class="prompt"></div>


<div class="output_subarea output_stream output_stdout output_text">
<pre>humidity_mean: 79.696230429
ambient_temperature: 21.1698954931
photosensor: 801.887916875
radiation_level: 199.60440661
dewpoint: 17.1585564914
</pre>
</div>
</div>

<div class="output_area">

<div class="prompt output_prompt">Out[39]:</div>




<div class="output_text output_subarea output_execute_result">
<pre>&#39;Displaying the mean values of humidity,ambient temperature , photosensor,radiation level and dew point &#39;</pre>
</div>

</div>

</div>
</div>

</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">